ユーザ用ツール

サイト用ツール


ubuntu:noble

文書の過去の版を表示しています。


Ubuntu 24.04

sshのportを変更する

/etc/ssh/sshd_config のPortを修正しても反映されない

/etc/systemd/system/ssh.service.requires/ssh.socket を修正する

[Unit]
Description=OpenBSD Secure Shell server socket
Before=sockets.target ssh.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
 
[Socket]
ListenStream=22
Accept=no
FreeBind=yes
 
[Install]
WantedBy=sockets.target
RequiredBy=ssh.service

ListenStreamの値を任意の値に変更して

sudo systemctl daemon-reload
sudo systemctl restart ssh.service

地味にサービス名がsshdからsshに変更になっているので注意

socket activation

sshのこの妙な変更はsocket activationという仕組みによる。socket activationはサービスではなくsystemdが指定のportをlistenして接続を待ち受け、portに接続があると対象のサービスにディスパッチするという仕組みらしい。この時もし対象のサービスが停止していればsystemdは対象のサービスを立ち上げてから接続を引き渡す。

ubuntu/noble.1714752643.txt.gz · 最終更新: 2024/05/03 16:10 by nullpon