linux下ssh命令22端口连接失败

[复制链接]
发表于 2026-10-6 11:24:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、先分清是哪一层断了

SSH 连不上,第一反应不该是反复重连,而是分层定位:IP 通不通 → 端口开没开 → 服务活着没 → 认证过没过。绝大多数「22 端口连接失败」都卡在前三层的某一层。

ping <服务器IP>

ping 都不通,那是网络或主机离线问题,跟 SSH 没关系,先去查网卡、网关、安全组。

二、端口通不通

telnet <服务器IP> 22
nc -zv <服务器IP> 22

能连上会卡一下(等响应)或返回 open;直接 Connection refused 说明端口没监听或被拒;超时不动多半是防火墙或安全组在丢包。

服务器端看端口在不在听:

ss -lntp | grep :22
netstat -lntp | grep :22

没监听就是 sshd 没起(见第三节)。

三、sshd 服务状态

systemctl status sshd        # CentOS/Rocky/Alma
systemctl status ssh         # Ubuntu/Debian

没起就拉起来并设开机自启:

sudo systemctl enable --now sshd
journalctl -u sshd -xe | tail -50

改过配置一定先校验语法再重载,别盲 restart:

sudo sshd -t
sudo systemctl reload sshd

四、防火墙与安全组

本机防火墙:

sudo ufw status                 # Ubuntu
sudo firewall-cmd --list-all    # CentOS 系
sudo ufw allow 22/tcp
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

云主机还有一道安全组(控制台里的入站规则),忘了放行一样超时。改了 SSH 端口(比如 2222)时,安全组、防火墙、sshd_config 三处都要同步,这是最常见的「自改端口后连不上」。

五、认证阶段的问题

网络通、端口开、服务活着,但还是进不去,看认证:

  • 密码错:用控制台先登进去改密码,别死磕。
  • 密钥不对:本地私钥和服务器 authorized_keys 不匹配。权限是高频坑:~/.ssh 必须 700,authorized_keys 必须 600,宽了会被拒绝。
  • PermitRootLogin 被禁:/etc/ssh/sshd_config 里若为 no,root 直接登不进,改用普通用户。
  • PasswordAuthentication no:只开了密钥登录,用密码连会被拒。
  • 被锁:连续输错触发 fail2ban 之类,IP 被拉黑,查服务端封禁列表。

想看服务端为什么拒绝,开详细日志日志:

sudo /usr/sbin/sshd -d

或者直接看日志日志:

sudo journalctl -u sshd -f

六、连不上的速查表

现象大概率原因
ping 不通网络/主机离线、安全组拦截
refusedsshd 没起或端口没监听
超时无响应防火墙/安全组丢包
卡在输入密码密码错误或被限流
密钥登录直接拒密钥权限不对或公钥没写进文件
改端口后全断安全组/防火墙/sshd_config 三处没同步

qidao123.com企服评测-应用市场 编辑提示

本文给出 SSH 22 端口连接失败的分层排查法:连通性、端口监听、服务状态、防火墙与安全组、认证配置五步,附速查表与关键命令。改 SSH 端口时必须同步放行安全组与本机防火墙;密钥登录的目录与文件权限(700/600)是最常见的隐性故障。企业运维建议统一开放策略并接入 fail2ban,避免误封一线运维 IP。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表