You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法SSH连接GCP实例求助:sshguard拦截与端口22连接拒绝问题

解决GCP Ubuntu 14.04实例SSH连接被拒的分步方案

我帮你梳理下针对这个问题的分步解决方案——毕竟你试过了常规方法都没效果,得从底层入手排查,结合sshguard拦截、SSH服务异常以及Ubuntu 14.04的特性来处理:

第一步:通过串行端口绕过sshguard临时解锁IP

既然Web SSH和gcloud shell都失效了,GCP的串行端口是你直接访问实例系统的最后途径:

  • 登录GCP控制台找到你的实例,点击编辑,在「远程访问」部分勾选启用连接到串行端口,保存后重启实例
  • 回到实例详情页,点击连接到串行端口,打开控制台后输入你的Ubuntu用户名和密码登录(如果没设置过密码,登录后用sudo passwd 你的用户名重置)
  • 登录后立刻停止sshguard并清空黑名单:
    sudo service sshguard stop
    # 检查你的IP是否在拦截日志里
    sudo grep "你的公网IP" /var/log/auth.log
    # 清空sshguard的黑名单数据库
    sudo rm -f /var/lib/sshguard/blacklist.db
    

第二步:确保SSH服务正常运行并配置正确

端口22被拒绝很大概率是SSH服务没起来或者配置有误,针对Ubuntu 14.04做以下检查:

  • 查看SSH服务状态:
    sudo service sshd status
    
  • 如果服务未运行,手动启动并设置开机自启:
    sudo service sshd start
    sudo update-rc.d sshd defaults
    
  • 检查/etc/ssh/sshd_config的关键配置(先临时放宽权限方便测试):
    # 确保端口22开启
    Port 22
    # 允许密码登录(密钥有问题时临时用)
    PasswordAuthentication yes
    # 允许你的用户登录
    AllowUsers 你的用户名
    
  • 修改配置后重启SSH服务:
    sudo service sshd restart
    

第三步:修复startup-script不生效的问题

之前的启动脚本没生效,大概率是脚本格式或执行逻辑的问题,按以下方式调整:

  • 把自定义元数据里的startup-script换成下面的内容(开头的#!/bin/bash必须保留,这是脚本执行的关键):
    #!/bin/bash
    # 停止并禁用sshguard,避免再次拦截
    service sshguard stop
    update-rc.d sshguard remove
    # 确保SSH服务启动并设置自启
    service sshd start
    update-rc.d sshd defaults
    # 清空sshguard黑名单
    rm -f /var/lib/sshguard/blacklist.db
    
  • 手动测试脚本是否能正常运行,排查语法错误:
    sudo bash -c "上面的脚本内容"
    
  • 如果还是不生效,查看启动脚本的执行日志找报错:
    cat /var/log/cloud-init-output.log | grep -i error
    

第四步:长期解决sshguard拦截问题(可选)

如果不想完全禁用sshguard,可以配置它白名单你的IP:

  • 编辑sshguard配置文件:
    sudo nano /etc/sshguard/sshguard.conf
    
  • 添加白名单配置:
    WHITELIST_FILE="/etc/sshguard/whitelist"
    
  • 创建白名单文件并添加你的IP:
    echo "你的公网IP" | sudo tee /etc/sshguard/whitelist
    
  • 重启sshguard生效:
    sudo service sshguard restart
    

重要提醒

Ubuntu 14.04在2019年就终止了所有官方支持,包括安全更新和软件维护,这可能导致SSH、sshguard等组件出现兼容性bug或安全漏洞,建议尽快迁移到GCP支持的Ubuntu版本(比如20.04或22.04),可以通过创建新实例再迁移数据的方式完成升级。

内容的提问来源于stack exchange,提问作者krrish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:28:32