今天蜗牛遇到一个网友,告知其一台在Linode商家的VPS主机无法登陆SSH,但是里面的网站都能正常打开,让其帮助解决这个问题。其中有两种可能,一种可能是SSH端口被封导致的,因为在前一段时间有看到过类似的文章有网友出现过VPS主机SSH端口被封,然后去修改端口可以解决这个问题。
这里蜗牛就把这个解决问题的过程记录下来,如果有类似的问题可以效仿解决,但是并不是唯一解决的方法,因为不同的问题可能会有差异,仅仅是这个问题是用这个方法解决的。(因为以前有其他的问题记录了,但是有网友效仿并不能解决问题)
第一、通过Launch Lish Console登录服务器
通过给予的SSH ROOT账户信息,确实我也没有办法登录远程,那就直接采用Linode面板中的Launch Lish Console登录,类似我们所谓的服务器会自带的VNC功能,只是面板不同的叫法不同而已。
如上图,Remote Access – Launch Lish Console。点击链接之后,可以看到类似的WEB SSH界面。
正常我们登录当初设置的root用户名,密码然后登录。
第二、修改SSH端口/关闭iptables
蜗牛前几天有分享过在CentOS7中修改SSH端口的文章(CentOS7修改Linux服务器SSH端口的方法),但是这个朋友好像是用的CentOS6,所以这个方法还不行,得用CentOS6的方法。不过这里蜗牛想去试试可能并不是端口被封,而可能是iptables没有开放或者开放后失效导致端口问题。
于是我直接在Launch Lish Console里先暂停iptables试试。
service iptables stop
然后我再通过本地客户端SSH登入试试看,确实是可以登入的,看来这个端口是没有问题的。可能是这个朋友当初端口没有保存到iptables里,然后服务器重启之后导致失效。那这里就不用去修改SSH端口了,只需要添加端口到iptables里就可以。(因为重启服务器之后iptables会被启动,或者我们也可以彻底关闭)
第三、设置开放自定义SSH端口
/sbin/iptables -I INPUT -p tcp –dport 54321 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
这里因为这个朋友采用的是CentOS6系统,所以和CentOS7是不同的,将他自定义的端口设置添加进来,然后保存重启这样才生效。如果我们不保存重启,如果服务器重启将会出现无法连接的问题。
第四、检查端口是否存在
/etc/init.d/iptables status
我们可以重启服务器,然后再试试本地客户端登入SSH是否可以链接。如果确认没有问题,那这么个问题就解决了。
总结,其他VPS、服务器一样,如果有遇到类似的问题可能是因为端口被封不通,或者是设置的端口没有保存且失效导致的我们去重新设置即可。