GCP VM 无法通过SSH访问问题咨询
GCP VM SSH连接失败排查方案
1. 基础运行状态检查
- 前往GCP控制台实例详情页确认实例运行状态为正常,查看监控面板CPU、内存、磁盘IO指标,确认重启后没有出现资源耗尽导致的服务无响应
- 查看实例串行端口输出日志,排查是否存在内核panic、磁盘满、文件系统损坏、服务启动失败类报错,例如
No space left on device、sshd.service start failed可直接定位根因
2. 网络连通性排查
- 检查实例绑定的VPC防火墙入方向规则,确认22端口已放行,源IP范围包含当前访问设备的公网IP,没有高优先级的阻断规则覆盖SSH放行规则
- 确认实例公网IP分配正常,若使用内网访问需要确保当前设备与实例在同一VPC内,或内网路由、VPN/专线连接正常
- 本地执行
nc -zv <VM公网IP> 22或telnet <VM公网IP> 22验证端口可达性,端口不通优先排查防火墙、路由配置
3. SSH服务与权限排查
- 22端口可达但连接失败的情况下,通过GCP控制台串行端口登录功能直接进入实例(需提前开启串行端口访问权限),执行
systemctl status sshd确认SSH服务运行状态,异常可执行systemctl restart sshd重启 - 查看日志定位具体报错:Debian/Ubuntu系统查看
/var/log/auth.log,RHEL/CentOS系统查看/var/log/secure,常见问题包括SSH密钥权限错误、sshd配置被修改、登录账号过期 - 确认使用的SSH公钥已正确配置在实例元数据或项目元数据中,近期没有删除相关公钥配置
4. 其他常见场景排查
- 执行
df -h查看系统盘使用率,磁盘100%占用会导致SSH服务无法响应,清理冗余文件后即可恢复 - 若实例开启了OS Login功能,确认当前GCP账号已被授予
roles/compute.osLogin对应访问权限
内容的提问来源于stack exchange,提问作者Rob K
相关产品推荐
相关产品推荐

