在 Proxmox 7 中使用 LXC 创建了一个 Debian 11 容器,但是发现更改了 sshd_config 中的端口后无法开机启动。但是手动使用 systemctl start sshd 后又一切正常,经过搜索后发现了解决方法

原因和解决方法

在 Debian 11 中 sshd 改为了 socket.service。与原本相比,sshd 不用一直启动,而是在有人连接了 sshd 监听的端口后再启动,节省资源。但是,这样导致修改了端口还要修改 socket.service 文件。

比如修改 22 端口为 12345 端口:

sed -i "s/#Port 22/Port 12345/" /etc/ssh/sshd_config
sed -i "s/ListenStream=22/ListenStream=12345/" /etc/systemd/system/sockets.target.wants/ssh.socket