CentOS7更改SSH端口
这是一篇导入的文章
起因
博主的一台阿里轻量小鸡鸡,最近在登陆的时候,出现了一些登录失败的记录,而且查了下 IP,是个南非的 IP
我当时的表情大概是这样的
解决思路
多次失败的登录应该是有人在尝试爆破 SSH,我连接服务器用的是 XShell,密码记录了,每次连接就没输入密码
那么解决思路也很明确,修改 SSH 端口(因为拉黑 IP 不见得有多大用)
Linux 的 SSH 进程配置文件在 /etc/ssh/sshd_config
端口配置项为 Port
解决步骤
- 切换为root用户
sudo su
- 编辑SSH进程配置文件
vi /etc/ssh/sshd_config
- 修改SSH端口
输入/
,键入Port
,然后按Enter
键,找到该项
将其前面的注释符号 #
去掉,然后将 22
修改为其他端口(范围 1-65535
)
按下
ESC
键,输入:wq
保存并退出(注意一定有冒号)关闭防火墙或放开端口
- 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
- 放开端口(请将22更换为你更改的端口)
firewall-cmd –zone=public –add-port=22/tcp –permanent
firewall-cmd –reload
- 重启SSH进程
systemctl restart sshd
在新端口能 SSH 通之前,请不要断开当前的SSH连接
参见
Linux centos 远程SSH默认22端口修改为其他端口——chidongting——2016-04-06
CentOS 7 为firewalld添加开放端口及相关资料——北斗极星——2016-11-13
题外话
要防止他人爆破 SSH,最好的方法就是关掉 SSH
其实有更方便的授权 IP 白名单,但是鉴于很多网络运营商给的是动态 IP,亦或者不给公网 IP,还是不太推荐这种方式。