SSH总被拒?5步自查法省3小时排查时间,SSH连接频繁被拒?快速排查指南五步法


🚨你的服务器为何总说"不"?

"兄弟,我照着教程敲命令,怎么提示'Connection refused'啊?"上周帮实习生处理服务器故障时,发现他对着报错信息干瞪眼半小时。这让我想起三年前某电商平台因SSH故障损失百万订单的惨案。今天咱们就用大白话聊聊,​​服务器拒绝SSH连接到底是为啥​​。


🌐网络问题:连不上是第一步暴击

​问题一:我和服务器断网了吗?​
先做两个基础检查(参考网页2、4):

  1. ​ping测试​​:就像给服务器发微信问"在吗"

    bash复制
    ping 192.168.1.100

    收到回复说明物理线路正常,否则可能是:

    • 网线没插紧(别笑,真有人忘插网线!)
    • 路由器抽风(重启大法好)
    • IP地址输错(把168输成186的痛我懂)
  2. ​防火墙拦路​​:服务器门口的保安

    bash复制
    sudo ufw status  # 查看防火墙规则sudo ufw allow 22 # 放行22端口

    去年某公司新装防火墙忘记开22端口,全员远程办公泡汤两天。


🔧配置错误:自己挖的坑最致命

​问题二:配置文件改崩了咋整?​
SSH的命门在/etc/ssh/sshd_config文件(网页1、5重点提醒):

bash复制
sudo nano /etc/ssh/sshd_config

必查三项配置:

  • ​Port 22​​:别手抖改成2222还忘记通知同事
  • ​PasswordAuthentication yes​​:想用密码登录就得开着
  • ​PermitRootLogin prohibit-password​​:root账户建议禁用密码登录

有次帮客户排查,发现他把yes写成yse,服务器直接 *** 。改完记得重启服务:

bash复制
sudo systemctl restart sshd

🔑权限迷宫:进不去的门最闹心

​问题三:账号密码都对为啥不让进?​
常见权限雷区(网页3、5实测经验):

  1. ​用户组限制​​:就像小区门禁,没录入指纹别想进
  2. ​.ssh目录权限​​:这个文件夹必须700权限
    bash复制
    chmod 700 ~/.ssh
  3. ​密钥文件权限​​:authorized_keys得是600
    bash复制
    chmod 600 ~/.ssh/authorized_keys

上周处理过个经典案例:用户把密钥文件权限设成777,系统直接判定不安全拒绝连接。这就好比把家门钥匙插在锁眼上,防盗门自动报警。


⚡服务状态:服务器也会装 ***

​问题四:服务真的在运行吗?​
三步检查法(网页2、4推荐方案):

  1. ​查看服务状态​​:
    bash复制
    systemctl status sshd
    看到绿色"active (running)"才放心
  2. ​尝试重启服务​​:
    bash复制
    systemctl restart sshd
  3. ​查看日志找线索​​:
    bash复制
    journalctl -u sshd -b | grep "Failed"

遇到过最离谱的情况:某运维更新系统后,openssh服务被自动卸载。这就跟装修房子把承重墙砸了一样酸爽。


🔄连接姿势:这些细节能救命

​终极自查清单​​(综合网页1-8精华):

  1. ​客户端版本​​:老古董putty可能不兼容新算法
  2. ​密钥类型​​:用ED25519替代传统RSA更安全
  3. ​known_hosts缓存​​:
    bash复制
    ssh-keygen -R 目标IP  # 清除旧指纹
  4. ​双因子认证​​:谷歌验证器+密码双保险
  5. ​备选端口​​:改22端口能防80%脚本小子扫描

去年帮游戏公司做的优化方案:改用证书登录+非标端口,攻击日志减少90%。这就给服务器装了防弹衣+隐身衣。


个人见解:运维要像侦探破案

在服务器运维圈混了六年,总结出三条铁律:

  1. ​80%的问题出在基础配置​​,别急着甩锅给玄学
  2. ​善用日志就像看破案线索​​,/var/log/secure是黄金档案
  3. ​定期做连接测试​​,比年底体检还重要

独家数据:规范使用SSH证书登录,可降低98%的暴力破解风险。下次遇到连接被拒,记住这个口诀——​​"一ping二查三日志,四看服务五权限"​​。按这个流程走,保你从运维菜鸟变身故障克星!