SSH所用22端口是黑客最喜欢扫描的端口,因此换一个端口,是很好的规避风险的方式之一。
SSH端口号可以自己定义,端口范围0—65535,建议使用10000-65535,且不要和已有端口冲突,端口还需要在防火墙上放行。
1、修改SSH端口
修改sshd_config配置文件 /etc/ssh/sshd_config
Port 22
Port 5191
# 建议添加一行,两个都放开,等5191弄好了再关闭22端口
[心]问题:
只修改sshd_config配置文件,重启SSHD服务后,不仅5191端口无法访问,还会报错:
Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
大致的意思是配置文件有问题,其实主要是SELinux和防火墙没有开放端口。
2、SELinux开放端口
使用SELinux manage工具开放SELinux端口,
semanage port -l|grep ssh # 查询SELinux允许的ssh端口号
?[月亮]如果没有semanage工具,需要先用yum进行安装。
yum provides semanage
yum install policycoreutils-python -y
安装完成后可以使用semanage工具添加端口。
semanage port -a -t ssh_port_t -p tcp 5191
#添加为SSH添加5191端口
?[心] semanage常用参数
-a 添加 -d 删除 -l 查询 -m 修改
eg:semanage port -d -p udp 7956 //删除udp 协议的 7956 端口
eg:semanage port -l //列出所有端口
3、防火墙开放端口
需要在防火墙上开放5191端口,或者关闭防火墙(不推荐)。
firewall-cmd --zone=public --add-port=5191/tcp --permanent
#在防火墙上添加5191端口
firewall-cmd --reload
#重新加载防火墙规则
4、重启sshd服务
重启sshd服务,使修改后的sshd_config配置文件生效。
systemctl restart sshd
#重启sshd服务
修改完成后,先不要退出现有的SSH连接,否则新的端口连不上,老的端口也连接不上,那只能进机房去修改了,所以必须保证新端口可以使用后,再删除老的端口。