我是靠谱客的博主 矮小老师,这篇文章主要介绍ssh连接VPS,更改端口,配置iptables后,重启连接失败的原因,现在分享给大家,希望可以做个参考。

购买了一个vps,系统是centos 7 ,用xshell连接进行操作。但是因为vps经常被恶意扫描和尝试登录,所以打算禁用ssh的默认端口。

先允许所有,不然有可能会杯具

复制代码
1
2
iptables -P INPUT ACCEPT

清空所有默认规则

复制代码
1
2
iptables -F

清空所有自定义规则

复制代码
1
2
iptables -X

所有计数器归0

复制代码
1
2
iptables -Z

首先允许更改后的ssh连接端口。

复制代码
1
2
3
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT #允许8888端口

同时修改/etc/ssh/sshd_config的端口号。

增加端口 port 8888
在这里插入图片描述
更改后,重启sshd服务。

复制代码
1
2
systemctl restart sshd

用新端口试试能不能连接,如果连接成功,也可以删掉原来的22端口。也可以不删除,禁用22端口之后,也是不能连接的。

拒绝其他端口,拒绝端口要放在放行规则之后,因为iptables是从上往下读取规则的。

禁用22端口

复制代码
1
2
3
iptables -A INPUT -p tcp --dport 22 -j REJECT #禁用22端口
复制代码
1
2
3
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited #拒绝所有接口(已放行的端口不受影响)

保存规则

复制代码
1
2
service iptables save

配置完毕,重启iptables服务。

复制代码
1
2
3
service iptables restart #重启iptables服务

问题来了,对主机进行重启,发现ssh连接不上。登录主机,检查iptables规则,没用问题。

复制代码
1
2
3
iptables -n -L #查看规则列表

再三查找问题,联想到centos 7 默认防火墙是firewalld,而firewalld的默认是禁止所有端口的。于是马上查看firewalld状态。

复制代码
1
2
3
systemctl status firewalld #查看firewalld状态

发现firewalld是开启状态(active),关闭firewalld。

复制代码
1
2
3
4
5
systemctl stop firewalld #关闭firewalld防火墙。 systemctl disable firewalld #禁止firewalld开机启动

ssh连接成功,问题解决。
后记:iptables和firewalld都可以设置centos7的防火墙,但是iptables默认是放行,而firewalld默认是拒绝。

最后

以上就是矮小老师最近收集整理的关于ssh连接VPS,更改端口,配置iptables后,重启连接失败的原因的全部内容,更多相关ssh连接VPS,更改端口,配置iptables后,重启连接失败内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部