远程连接linux服务器失败?明明能ping通却连不上怎么回事,Linux服务器远程连接失败,ping通却无法连接的排查指南
凌晨三点?,盯着屏幕里绿油油的"Reply from 192.168.1.100: bytes=32 time=1ms TTL=64",老王 *** 砸了下键盘:"网络明明通的!咋 *** 活连不上服务器?!" 这种抓狂瞬间,八成是端口、服务、防火墙这三兄弟在暗中使绊子?。
? 端口幽灵在作祟
能ping通只证明网没断,但想进服务器得靠"门"(端口)开着。SSH默认走22号门?,可这门可能:
压根没开:管理员手滑改了端口(比如改成2222),你还在傻傻敲22

被水泥封 *** :防火墙把22门砌墙了,数据包撞得头破血流也进不去
快速验 *** 法:
telnet 服务器IP 22连不上?直接报"Connection refused"?那就是门锁了?
不过话说回来,22门开着的服务器也可能拒客——SSH服务自己躺平 *** 了!用systemctl status sshd瞅瞅,要是显示"inactive (dead)",赶紧吼一嗓子systemctl start sshd把它拍醒
? 防火墙那堵墙
最憋屈的情况:服务器22门大开,SSH服务活蹦乱跳,可数据包 *** 活进不来!八成是防火墙在当门神:
本地防火墙(iptables/firewalld)可能设了拦截咒
云服务器更坑爹——控制台还有个安全组规则,得手动放行22端口
救急口诀:
bash复制iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 本地防火墙开闸 service iptables restart # 重启生效
⚠️注意:云平台得去网页控制台操作,光敲命令不好使!
? 输密码老报错?小心钥匙对不上
用户名密码输八百遍都错?别急着怪手 *** !服务器可能压根没开密码登录——现在流行密钥认证。症状包括:
反复提示"Permission denied"
明明密码没错却登不上
查配置文件/etc/ssh/sshd_config:
PasswordAuthentication yes这行被注释了?#号删掉!改完记得
service sshd restart重启服务
密钥登录更邪门——客户端私钥权限太开放也会被拒!必须锁成600权限:
bash复制chmod 600 ~/.ssh/id_rsa # 钥匙串捂严实了才给用
? 那些深坑冷知识
IP地址玩变身:服务器网卡配置了多个IP?SSH可能只监听其中一个,试试
ss -tnlp | grep :22找它到底蹲在哪个IP上SELinux搞事情:这尊大神偶尔抽风拦SSH,临时关掉试试:
setenforce 0连接数爆了:服务器被挤爆时会拒新客,SSH配置里
MaxStartups值调大点或许能救急
有个玄学现象至今没搞懂:为什么内网telnet通22端口,外网 *** 活连不上? 不同工具检测结果还打架... 具体机制待进一步研究?
老王最后发现是云平台安全组忘开22端口。他瘫在椅子上苦笑:"能ping通顶个?用,门缝都不给留!" 服务器这玩意儿吧——门开着,人在;门关着,人疯? 哦对了,下次记得先问三句:端口开没?服务活没?防火墙跪没?