赞
踩
修改Ubuntu系统的SSH端口的惯例方法都是修改“/etc/ssh/sshd_config”配置文件,在其中添加“Port xxxx”来实现。
但是在Ubuntu 20.04及以后的版本中,OpenSSH服务器默认使用systemd的socket激活功能,也就是说在系统启动时不会启动一个全功能的sshd服务,而是由systemd监听22端口,在有新的连接请求时再启动sshd服务处理。所以,如果您的系统是这种情况,即使在sshd_config中更改了端口号,也不会有任何效果,因为实际监听的端口是由systemd管理的。这一点在“/etc/ssh/sshd_config”配置文件中其实是说明了的。
# Port and ListenAddress options are not used when sshd is socket-activated,
# which is now the default in Ubuntu. See sshd_config(5) and
# /usr/share/doc/openssh-server/README.Debian.gz for details.
如果您想要修改SSH的端口并且您的系统正在使用socket激活功能,您需要修改systemd的配置。具体操作如下:
编辑/etc/systemd/system/ssh.socket.d/port.conf文件(可能需要先创建这个文件):
sudo mkdir -p /etc/systemd/system/ssh.socket.d
sudo nano /etc/systemd/system/ssh.socket.d/port.conf
在打开的编辑器中,输入以下内容:
[Socket]
ListenStream=
ListenStream=8022
然后保存并退出编辑器。
最后,重载systemd配置并重启ssh服务:
sudo systemctl daemon-reload
sudo systemctl restart ssh
现在,ssh服务应该会在新的端口上监听连接请求。
重要提示:在您更改SSH端口并重启服务之前,最好在另一个会话窗口中保持一个已经打开的SSH连接,以防止新配置有问题导致您无法通过SSH连接到服务器。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。