/etc/ssh/sshd_config
で……
ListenAddress 192.168.0.5
……とか固定すると OS 起動時に sshd がコケる。i/f に IP 振られる前に sshd が起動して「bind できねーよ!!」つって落ちてるっぽい。
Oct 25 18:45:41 hostname sshd[630]: error: Bind to port 22 on 192.168.0.5 failed: Cannot assign requested address. Oct 25 18:45:41 hostname sshd[630]: fatal: Cannot bind any address. Oct 25 18:45:41 hostname systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION
xrdp なんかでも同様にコケる。
systemd の unit を書き換えて After=network.target
を After=network-online.target
とする。
# sudo systemctl edit sshd.service
こんな風にする。
### Editing /etc/systemd/system/ssh.service.d/override.conf ### Anything between here and the comment below will become the new contents of> [Unit] After=network-online.target auditd.service ### Lines below this comment will be discarded ### /lib/systemd/system/ssh.service # [Unit] # Description=OpenBSD Secure Shell server # Documentation=man:sshd(8) man:sshd_config(5) # After=network.target auditd.service # ConditionPathExists=!/etc/ssh/sshd_not_to_be_run # # [Service]
……ほんとにこんなこと毎回しなきゃいけないの?ちなみに listen する IP が 0.0.0.0
である場合はお構いナシで上がってくるので問題は発生しません。しませんが……公開してるサーバーだとサービス提供してる IP とメンテナンス用の IP は別にしたいとか思いもありう~むむむむむ……