Linux更改SSH端口
只在CentOS6上测试过,其他系统供参考。
命令粘贴前将XXXXX改为65535以内自定义数字。
现在网上扫端口的太多了,新的服务器或VPS到手就应该马上修改默认管理端口和复杂密码。而且操作有风险,新系统无数据只要重装系统就行了。(如果安装了AMH建议找到AMNetwork模块安装备用)
1.修改sshd配置文件:
1 |
vi /etc/ssh/sshd_config |
默认情况下直接加入下面两行设置ssh端口为默认的22和自定义数字,如果以前修改过配置则注释掉其他Port行。
Port 22
Port XXXXX
重启sshd服务:
1 |
service sshd restart |
2.修改防火墙设置
2.1 正常Linux(没有安装AMH等改变防火墙设置)
1 2 |
iptables -I INPUT -p tcp -m tcp --dport XXXXX -j ACCEPT iptables-save > /etc/sysconfig/iptables |
2.2 已经安装AMH的情况下
1 2 |
iptables -I INPUT -p tcp -m tcp --dport XXXXX -j ACCEPT iptables-save > /etc/amh-iptables |
3.修改selinux设置
如果selinux没开即getenforce结果显示Disabled就不用进行下面操作了。
1 |
semanage port -a -t ssh_port_t -p tcp XXXXX |
如果提示semanage: mand not found则按下面方法解决:
1 2 3 4 |
yum provides *bin/semanage #找到软件包名称为policycoreutils-python,然后安装 yum -y install policycoreutils-python semanage port -a -t ssh_port_t -p tcp XXXXX |
4.测试新端口
连接到刚刚新增的端口测试一下,如果可以连接则禁用22端口。
5.禁用22端口
1 2 3 4 5 6 7 8 9 10 11 12 |
vi /etc/ssh/sshd_config ###注释掉下面这行: #Port 22 ###重启sshd服务 service sshd restart ###删除防火墙开放的22端口 vi /etc/sysconfig/iptables #或者vi /etc/amh-iptables #找到带22端口的注释掉,比如下面这行 #-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT service iptables restart #或者/etc/init.d/amh-start |