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

概述

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

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

iptables -P INPUT ACCEPT

清空所有默认规则

iptables -F

清空所有自定义规则

iptables -X

所有计数器归0

iptables -Z

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

iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
#允许8888端口

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

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

systemctl restart sshd

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

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

禁用22端口

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

保存规则

service iptables save

配置完毕,重启iptables服务。

service iptables restart
#重启iptables服务

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

iptables -n -L
#查看规则列表

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

systemctl status firewalld
#查看firewalld状态

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

systemctl stop firewalld 
#关闭firewalld防火墙。
systemctl disable firewalld
#禁止firewalld开机启动

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

最后

以上就是矮小老师为你收集整理的ssh连接VPS,更改端口,配置iptables后,重启连接失败的原因的全部内容,希望文章能够帮你解决ssh连接VPS,更改端口,配置iptables后,重启连接失败的原因所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部