Ubuntu24.04调整SSH端口

Nicky 13 0

之前的文章中写到过,修改SSH端口号需要调整/etc/ssh/sshd_config文件,但是在Ubuntu 2404上发现就不行了,即使修改了,再连接上去还是22号端口。

这是因为在这一版的systemd socket(ssh.socket)正在监听 22 端口并按需启动服务,你需要禁用它、修改它的配置,并重启服务才能使用。

输入以下命令,打开文件,调整ssh sockert配置中的ListenStream=22修改掉你想要更换的端口号

vim /usr/lib/systemd/system/ssh.socket

Ubuntu24.04调整SSH端口例如我就修改为了8022端口
Ubuntu24.04调整SSH端口

然后执行以下命令对systemd进行重置跟重启服务。

sudo systemctl daemon-reload
sudo systemctl restart ssh

再执行以下命令进行检查。

sudo ss -ntlp | grep sshd
# 或者
sudo ss -tulnp | grep ssh

没问题以后再调整防火墙。

sudo ufw allow 8022/tcp
sudo ufw reload

这样就可以了。

另外:
1、/etc/ssh/sshd_config文件也是要修改的,修改完记得执行以下命令,可以检查配置是否正确。

sudo sshd -t

2、如果systemd socket(ssh.socket)的配置文件不对,可以更换为

vim /lib/systemd/system/ssh.socket

3、除了修改以上配置文件,也可以禁用ssh.socket

sudo systemctl stop ssh.socket
sudo systemctl disable ssh.socket
sudo systemctl restart ssh

4、重启ssh服务命令可能每个版本不同。如果提示找不到ssh命令,可以更换为

sudo systemctl restart sshd

5、防火墙除了ufw以外,用以前版本的防火墙改成这个命令:

# 使用iptables
sudo iptables -I INPUT -p tcp --dport 8022 -j ACCEPT
sudo iptables -I OUTPUT -p tcp --sport  8022 -j ACCEPT

# 使用firewall
sudo firewall-cmd --zone=public --add-port=8022/tcp --permanent
sudo firewall-cmd --reload

没了。

Ubuntu24.04调整SSH端口

发表评论 取消回复
表情 图片 链接 代码

分享