CentOS 7 修改 SSH 端口号

修改端口号

打开 ssh 配置文件:

vim /etc/ssh/sshd_config

找到 #Port 22 这一行,在下面插入新的端口号:

Port <port>

注意: <port> 为新端口号。

保存并退出,重启 ssh:

systemctl restart sshd

防火墙设置

启用 ssh 服务:

firewall-cmd --permanent --add-service=ssh

修改 ssh 服务中的端口:

# 添加新的端口到 ssh 服务
firewall-cmd --permanent --service=ssh --add-port=<port>/tcp
# 从 ssh 服务移除 22 端口
firewall-cmd --permanent --service=ssh --remove-port=22/tcp

查看 22/tcp 端口是否已被永久添加到默认区域:

firewall-cmd --permanent --query-port=22/tcp

如果是,则删除:

firewall-cmd --permanent --remove-port=22/tcp

重新加载防火墙规则:

firewall-cmd --reload

注意: 阿里云主机还需要在安全组规则中添加入方向的 <port>/tcp 端口,删除 22/tcp 端口。

登录测试

打开一个新的 SSH 操作窗口,尝试使用默认端口号登陆:

ssh root@<ip>

提示连接被拒绝:

[root@mine ~]# exit
logout
Connection to xxx.xxx.xxx closed.

$ ssh root@xxx.xxx.xxx
ssh: connect to host xxx.xxx.xxx port 22: Connection refused

添加上修改后的端口再次登录测试:

ssh root@<ip> -p <port>

登录成功:

$ ssh root@xxx.xxx.xxx -p xxxxx
root@xxx.xxx.xxx's password:
Last login: Mon Feb 20 21:50:48 2017 from xxx.xxx.xxx.xxx

Welcome to Alibaba Cloud Elastic Compute Service !

[root@mine ~]#

退出之前的 SSH 操作窗口:

exit