客户端SSH连接被拒绝问题求助:含Git仓库操作失败情况
SSH连接被拒绝(Connection refused)的客户端排查思路
检查本地防火墙/安全软件
确认本地防火墙或第三方安全软件是否拦截了22端口的出站请求。可以临时关闭防火墙测试:- Windows:
netsh advfirewall set allprofiles state off(测试后务必重新开启) - macOS:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off(开启用--setglobalstate on)
- Windows:
排查本地端口占用
检查是否有异常程序占用了22端口(虽SSH客户端默认不监听22,但极端情况可能出现冲突):- Windows:
netstat -ano | findstr :22 - macOS/Linux:
lsof -i :22
若发现非SSH相关进程占用,关闭该进程后重试连接。
- Windows:
校验SSH客户端配置文件
查看用户目录下的.ssh/config文件(Windows路径:C:\Users\<你的用户名>\.ssh\config;Linux/macOS路径:~/.ssh/config),排查是否存在错误配置(比如强制修改默认端口、错误的主机映射)。
可先将该文件重命名为config.bak,再尝试连接,验证是否是配置导致的问题。检查网络代理设置
若使用了HTTP/SOCKS代理,确认代理是否正常工作,或是否拦截了SSH流量:- Linux/macOS:执行
unset http_proxy https_proxy临时取消代理环境变量 - Windows:通过设置关闭代理,或执行
netsh winhttp reset proxy重置代理配置
- Linux/macOS:执行
测试基础网络连通性
用telnet或nc验证目标主机22端口的可达性:telnet HOSTNAME 22或nc -zv HOSTNAME 22
若同样返回连接拒绝,进一步排查:- DNS解析是否正确:
nslookup HOSTNAME(Windows)或dig HOSTNAME(Linux/macOS) - 路由通路是否正常:
tracert HOSTNAME(Windows)或traceroute HOSTNAME(Linux/macOS)
确认SSH客户端完整性
虽已重装,仍需确认安装的是完整的OpenSSH客户端,且版本无兼容性问题:- 查看版本:
ssh -V - Windows系统需确认「设置->应用->可选功能」中已启用OpenSSH Client
- 查看版本:
检查本地hosts文件
确认hosts文件是否存在错误的主机映射,导致连接到错误IP:- Windows路径:
C:\Windows\System32\drivers\etc\hosts - Linux/macOS路径:
/etc/hosts
对比其他正常连接机器的解析结果,确保HOSTNAME对应的IP正确。
- Windows路径:
内容的提问来源于stack exchange,提问作者julian
相关产品推荐
相关产品推荐

