网络配置异常
虚拟主机的IP地址、子网掩码或网关配置错误会导致SSH连接失败。需检查网络适配器模式是否与宿主机匹配,并通过ifconfig
或ip addr
命令验证网络参数。若使用NAT模式,需确保虚拟网络编辑器中的网关设置与虚拟机配置一致。
防火墙或安全组拦截
本地防火墙或云平台安全组可能阻止SSH通信,具体表现为:
- 宿主机/虚拟机的iptables/firewalld未开放22端口
- 云服务商安全组未配置SSH访问规则
- 企业级防火墙策略限制外网连接
建议临时关闭防火墙测试,或使用telnet [IP] 22
验证端口可达性。
SSH服务未运行
服务未启动是常见故障原因,可通过以下步骤排查:
- 执行
systemctl status sshd
检查服务状态 - 使用
netstat -tlnp | grep :22
确认监听端口 - 查看
/etc/ssh/sshd_config
配置文件中的Port
和ListenAddress
参数
安全组策略限制
云平台安全组需配置入方向规则:
协议类型 | 端口范围 | 授权对象 |
---|---|---|
TCP | 22/22 | 0.0.0.0/0 |
阿里云、AWS等平台需在控制台单独设置安全组规则。
认证信息错误
包括密钥对不匹配、密码错误、权限配置异常等情况:
- 检查
~/.ssh/authorized_keys
文件权限是否为600 - 确认
sshd_config
中PasswordAuthentication
参数设置 - 使用
ssh -v
查看详细认证日志
SSH连接故障需按网络层→服务层→安全层的顺序排查,建议优先验证网络连通性,再检查服务状态和认证配置。云环境需特别注意安全组规则与本地防火墙的双向限制。