0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu 24.04でSSHのポートを変更しても22番のままだった原因(systemd socket activation)

0
Posted at

Ubuntu 24.04でSSHのポート番号を22番から8022番へ変更しようとしたところ、sshd_configを書き換えても22番で待ち受けたままになった。
同じ現象に遭遇した人向けに原因と対処法をまとめる。

環境

Ubuntu 24.04
OpenSSH Server
systemd

やったこと

/etc/ssh/sshd_configを編集。
Port 8022
設定に問題はなさそうなのでサービスを再起動。

sudo systemctl restart ssh

しかし状態を確認すると22番で待ち受けていた。

sudo systemctl status ssh

出力(一部)

Server listening on 0.0.0.0 port 22.
Server listening on :: port 22.

原因調査

まず、sshdが実際に読み込んでいる設定を確認した。

sudo sshd -T | grep ^port

結果

port 8022

つまり、sshd_configの設定自体は正しく反映されていた。
では、なぜ22番で待ち受けているのか。
ssh.socketの設定を確認した。

systemctl cat ssh.socket

すると以下の設定になっていた。

[Socket]
ListenStream=0.0.0.0:22
ListenStream=[::]:22

原因

Ubuntu 24.04では、デフォルトでsystemdのSocket Activationが有効になっている。
そのため、SSH接続の待ち受けはsshdではなくsystemdが担当する。
構成は以下のようになる。

SSHクライアント


systemd (ssh.socket)
ListenStream=22


sshd
Port 8022

つまり、
Portはsshdが利用するポート
ListenStreamはsystemdが待ち受けるポート
であり、Portだけ変更してもListenStreamが22番のままだと22番で待ち受け続ける。

対処方法

方法1(おすすめ)

Socket Activationを無効化し、従来どおりsshdに待ち受けさせる。

sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
sudo systemctl restart ssh.service

確認

ss -tlnp | grep ssh

方法2

ssh.socketのListenStreamも変更する。
オーバーライドを作成。

sudo systemctl edit ssh.socket

以下を記述する。

[Socket]
ListenStream=
ListenStream=0.0.0.0:8022
ListenStream=[::]:8022

設定を反映。

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

まとめ

Ubuntu 24.04では、SSHの待ち受けがsystemdのSocket Activationへ変更されている。
そのため、sshd_configのPortだけ変更しても、ssh.socketのListenStreamが22番のままだと22番で待ち受け続ける。
設定変更時は、以下を確認すると原因の切り分けがしやすい。

sudo sshd -T | grep ^port
systemctl cat ssh.socket
ss -tlnp | grep ssh

Ubuntu 22.04以前の手順だけを参考にすると、この違いでハマる可能性があるため注意したい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?