共计 879 个字符,预计需要花费 3 分钟才能阅读完成。
从Ubuntu 22.10开始,sshd的监听任务由systemd socket管理,直接修改sshd_config中的Port并不会生效。因此,需要同时修改socket配置和sshd配置。
一、修改SSH Socket端口
编辑systemd的SSH socket文件:
vim /usr/lib/systemd/system/ssh.socket找到[Socket]部分,将ListenStream修改为所需端口,例如 8888:
...
[Socket]
ListenStream=0.0.0.0:8888
ListenStream=[::]:8888
BindIPv6Only=ipv6-only
Accept=no
FreeBind=yes
...注意:
ListenStream=0.0.0.0:8888:表示监听所有IPv4地址ListenStream=[::]:8888:表示监听所有IPv6地址BindIPv6Only=ipv6-only:确保IPv6仅绑定IPv6,不影响IPv4
二、修改SSH配置文件(可选但推荐)
编辑sshd_config,确保端口与socket配置一致:
vim /etc/ssh/sshd_config修改或添加:
Port 8888三、重载systemd并重启服务
执行以下命令,使配置生效:
systemctl daemon-reload
systemctl restart ssh.socket
systemctl restart sshd.service四、 验证
使用以下命令检查SSH是否在新端口监听
ss -tlnp | grep ssh输出中应显示新端口(如8888)正在监听
参考
正文完