ubuntu:noble
Ubuntu 24.04
sshのportを変更する
Ubuntu 24.04では/etc/ssh/sshd_config
のPortを修正してsshを再起動しても反映されない。ssh.serviceではなくssh.socketを再起動する
sudo systemctl daemon-reload sudo systemctl ssh.socket
socket activation
Ubuntu 24.04はsocket activationという仕組みを採用しており、各サーバプロセスの代わりにsystemdがポートを開いて待ち受け、接続があれば各サービスに接続を引き継ぐという流れになっている。
この待ち受けと引き継ぎを管理しているのがsocketユニットで、sshならばssh.socketが管理している。
sshd_configを修正してssh.socketを再起動すると、/etc/systemd/generator/ssh.socket.d/addresses.conf
が自動的に作成される。このファイルにsystemdが待ち受けするポートが指定されている。
socket activationでは接続の引き渡し先サービスが停止していた場合、systemdは対象のサービスを立ち上げてから接続を引き渡す。このためサービスはOS起動時の自動起動をオンにする必要もない。
$ systemctl list-unit-files | grep ssh ssh.service disabled enabled ssh.socket enabled enabled
このようにssh.serviceのstateはdisabledにされている。代わりにssh.socketがenabledになっている。
ubuntu/noble.txt · 最終更新: 2024/08/25 13:20 by nullpon