1。导言
本文主要讲解如何修改CentOS 7的默认SSH端口号。
ssh协议的默认端口号是TCP 22,这也是端口扫描软件的重点扫描对象,也是黑客最感兴趣的端口号之一。
2。修改ssh配置文件
[root@zcwyou ~]# vi /etc/ssh/sshd_config
修改ssh端口
取消对#Port 22的注释,并在下一行中添加需要修改的新端口Port 2048。(这里没有删除端口22,是为了防止修改后新端口无法访问,导致无法通过ssh连接到服务器。)
配置文件应该有两行,如下所示
22号港口
端口2048
保存sshd_config文件并重新启动sshd服务:
[root@zcwyou ~]# systemctl restart sshd
退出ssh会话后,使用新端口连接:
假设您使用Linux连接到服务器:
[root@zcwyou ~]# ssh -p 2048 root@example.com
如果你是使用Windows+Xshell或者SecureCRT,则需要在SSH客户端软件里修改TCP端口为2048,。
如果您使用的是Windows+Xshell或SecureCRT,则需要在SSH客户端软件中将TCP端口修改为2048。
使用新的SSH端口登录到Linux
得出以下结论:
ssh:连接到主机0.0.0.0端口2048:连接被拒绝
连接被拒绝,表明CentOS 7的端口修改方法不能再生效。因为CentOS7也需要配置SElinux。
3。将SElinux设置为允许SSH新端口
打开SELinux端口
SELinux代表安全增强Linux (Security Enhanced Linux),是MAC(强制访问控制系统)的一种实现。其目的是明确指出哪些资源(文件、网络端口等。)某个进程可以访问。
对于ssh,SELinux默认只允许22个端口。我们可以使用SELinux管理配置工具se***nage来修改ssh可访问的端口。
安装se***nage工具
[root@zcwyou ~]# yum provides se***nage[root@zcwyou ~]# yum -y install policycoreutils-python
为ssh添加新的允许端口
[root@zcwyou ~]# se***nage port -a -t ssh_port_t -p tcp 2048
检查SELinux当前允许的端口。
[root@zcwyou ~]# se***nage port -l | grep ssh
ssh_port_t tcp 2048,22
错误处理
当SELINUX被配置为禁用时,使用se***nage将给出一条错误消息,指出无法读取策略文件:
SELinux:无法降级策略文件/etc/SELinux/targeted/policy/policy . 30,正在搜索旧版本。
SELinux:无法打开策略文件& lt=/etc/selinux/targeted/policy/policy . 30:没有这样的文件或目录
/***in/load _ policy:Can ’测试加载策略:没有这样的文件或目录
libse***nage . se***nage _ reload _ policy:load _ policy返回错误代码2。(没有这样的文件或目录)。
FileNotFoundError: [Errno 2]没有这样的文件或目录
修改/etc/SELinux/config配置以启用SELinux:
[root@zcwyou ~]# vi /etc/selinux/config
SELINUX =许可的
重新启动服务器。
[root@zcwyou ~]# init 6
重启后检查SELinux状态。
[root@zcwyou ~]# sestatus
检查配置:
[root@zcwyou ~]# se***nage port -a -t ssh_port_t -p tcp 2048[root@zcwyou ~]# se***nage port -l | grep ssh
ssh_port_t tcp 2048,22
重新启动ssh服务
[root@zcwyou ~]# systemctl restart sshd
注意:se***nge无法禁用ssh的端口22:
[root@zcwyou ~]# se***nage port -d -t ssh_port_t -p tcp 22
错误:端口tcp/22是在策略中定义的,不能删除。
4. 配置防火墙 firewalld
4。配置防火墙防火墙d
CentOS-7-SSH-port-configuration-03.png
启用防火墙 && 查看防火墙状态:[root@zcwyou ~]# systemctl enable firewalld[root@zcwyou ~]# systemctl start firewalld[root@zcwyou ~]# systemctl status firewalld
●firewalld . service –防火墙–动态防火墙守护进程
loaded:loaded(/usr/lib/systemd/system/firewalld . service;已启用;供应商预置:启用)
主动:主动(跑步)自II 2016-12-20 02:12:59 CST;1天13小时前
主管道仪表流程图:10379(防火墙)
c group:/system . slice/firewalld . service
└─10379/usr/bin/python-es/usr/***in/firewalld –诺福克–nopid
[root@zcwyou ~]# firewall-cmd --state
运转
检查防火墙的当前默认和活动区域:
[root@zcwyou ~]# firewall-cmd --get-default-zone
公众的
[root@zcwyou ~]# firewall-cmd --get-active-zones
公众的
接口:eth0 eth1
如果没有活动区域,执行以下命令。
激活公共区域,并添加网卡接口。假设您的端口号是eth0,使用ip addr命令检查网卡标识号:
[root@zcwyou ~]# firewall-cmd --set-default-zone=public[root@zcwyou ~]# firewall-cmd --zone=public --add-inte***ce=eth0
成功
假设eth1也加入了公共区域。
[root@zcwyou ~]# firewall-cmd --zone=public --add-inte***ce=eth1
成功
为公共区域永久打开2048/TCP端口:
万一新端口没有生效,先暴露端口22。
[root@zcwyou ~]# firewall-cmd --per***nent --zone=public --add-port=22/tcp[root@zcwyou ~]# firewall-cmd --per***nent --zone=public --add-port=2048/tcp
成功
过载防火墙
[root@zcwyou ~]# firewall-cmd --reload
查看公开的端口规则
[root@zcwyou ~]# firewall-cmd --per***nent --list-port
443/tcp 80/tcp 22/tcp 2048/tcp
[root@zcwyou ~]# firewall-cmd --zone=public --list-all
公共(默认,活动)
接口:eth0 eth1
来源:
服务:DHCP V6-客户端ssh
端口:443/tcp 80/tcp 22/tcp 2048/tcp
假面舞会:不
转发端口:
icmp阻止:
丰富的规则:
退出ssh后,尝试连接到新端口
[root@zcwyou ~]# ssh -p 2048 root@example.com
如果登录成功,就可以完成工作了。
5。禁用TCP 22端口
删除ssh允许的端口
[root@zcwyou ~]# vi /etc/ssh/sshd_config
端口22
端口2048
也就是说,在端口22前面加一个#。
重新启动SSH服务
[root@zcwyou ~]# systemctl restart sshd
使用ss命令检查ssh**的端口。22号显示修改成功。
[root@zcwyou ~]# ss -tnlp | grep ssh
LISTEN 0 128 *:2048 *:*用户:((“sshd & # 8221,18233,3))
从防火墙上删除端口22。
[root@zcwyou ~]# firewall-cmd --per***nent --zone=public --remove-port=22/tcp
成功
过载的防火墙配置
[root@zcwyou ~]# firewall-cmd --reload
检查永久有效的端口号。
[root@zcwyou ~]# firewall-cmd --per***nent --list-port
443/tcp 80/tcp 2048/tcp
取消ssh监控端口22,它已经配置好了。防火墙只是ssh之外的另一层访问限制。
验证ssh端口修改是否成功:
[root@zcwyou ~]# ssh -p 22 root@example.com
没有响应,因为端口号已经更改。
尝试TCP 2048端口连接。
[root@zcwyou ~]# ssh -p 2048 root@example.com
成功成功
6。摘要
到目前为止,我们已经成功地将linux的默认ssh端口从22修改为2048,提高了系统的安全性,使端口扫描器无法猜测SSH连接端口。
本文来自我要无比强大投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/636832.html