CentOS各发行版中SSH端口默认为22,如果正式做站或其它用途,为了提高安全性就需要修改掉默认的SSH端口号,防止被有心人穷举密码。部分VPS提供商,若您的VPS服务器SSH遭受多次的暴力破解,可能会遭到罚款或临时终止服务,所以修改SSH的默认端口是有必要的。

有的朋友不知道“穷举”是什么意思,这里给这些朋友扫盲下 :

穷举法,或称为暴力破解法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止。例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间。因此有些人运用计算机来增加效率,有些人辅以字典来缩小密码组合的范围。详细请看百度百科:穷举法

废话不多说,先通过当前的SSH端口(默认为:22)登陆。

 

1、修改配置文件:/etc/ssh/sshd_config ,找到#port 22 (如图)

 

2、追加一行,并去掉 # 号。如定义SSH端口号为26611 ,则输入

 

Port 20
Port 26611

 

自定义端口选择建议在万位的端口(如:10000-65535之间)

 

也许您会问为什么要先把port 22前面的 # 去掉呢?因为在配置文件中,# 是Linux的注释字符。注释字符后的代码程序是不会执行的。SSH默认的(即非手动指定)端口为22,所以配置文件在默认的情况下以注释字符出现。当需要指定其它端口或多端口同时访问时,就要删掉注释符号,告知程序按照您的意愿来执行响应操作。

以上操作,手动指定SSH端口为22和26611(双端口号),保留22是为了防止个别防火墙屏蔽了其它端口导致无法连接VPS(如没单独指定22,新指定的26611端口防火墙也没放行,那么可能无法通过SSH连接VPS或服务器)。为了防止不必要问题的产生,所以要给自己保留条“后路”。

 

3、然后到安全组规则里,进行设置并放行端口。

 

4、修改完毕后,重启SSH服务,并退出当前连接的SSH端口。(如图)

 

centos7:
systemctl restart sshd.service

centos6:
service sshd restart

 

5、重启完毕,尝试使用新端口登陆(如图)

 

连接成功,需要重新添加SSH-RSA验证,点击是(或Yes)即可。

 

6、若能正常访问,返回第一步,根据第二步的操作将原port 22整段删掉,再按第三步重启SSH即可。

 

以上步骤重启后使用默认22号端口无法进入SSH,达到目的。

查看端口命令

netstat -atnp
netstat -atnp | grep -v 'TIME_WAIT\|::\|Internet'
netstat -atnp | grep -E 'LISTEN|ESTABLISHED'