はじめに
Ubuntu24.04 で sshdの待ち受けポートを変更するメモ。
ここでは、待受ポートを 22 から 22222 に変更しています
Ubuntu22.10 から、待受ポートの変更は /etc/ssh/sshd_config
の変更やオーバーライドでだけはできなくなっています。
/usr/lib/systemd/system/ssh.socket
を修正するように変更しました。
ssh.socketと、ssh.serviceの設定をそれぞれ変更する必要があります。
ssh.socket → /usr/lib/systemd/system/ssh.socket
ssh.service → /etc/ssh/sshd_config.d/*.conf
環境
- Ubuntu22.04
変更手順
- /etc/ssh/sshd_config をオーバライドして設定を変更する
- systemctl edit を使って、ssh.socket を変更する
- service を再起動する
変更前の確認
ポート 22 が開いてる
$ ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.54:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
設定の変更
/etc/ssh/sshd_config のオーバーライド
/etc/ssh/sshd_config をコピーして設定ファイルを作る
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.d/99-override.conf
$ sudo vim /etc/ssh/sshd_config.d/99-override.conf
必要な行だけ残す、ここではポート番号を変更する行だけ残す
$ cat /etc/ssh/sshd_config.d/99-override.conf
Port 22222
ssh.socket の変更
sudo vim /usr/lib/systemd/system/ssh.socket
以下の部分のポート番号を変更
[Socket]
ListenStream=22222
サービスの再起動
$ sudo systemctl darmon-reload
$ sudo systemctl restart ssh
変更後の確認
ポート 22222 が開いてる
$ ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.54:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22222 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 [::]:22222 [::]:*
さいごに
かんたんでしたね。
関連リンク
SSHd now uses socket-based activation (Ubuntu 22.10 and later)