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

安装自定义Docker服务后无法通过IAP Desktop连接GCP RHEL虚拟机

解决GCP RHEL虚拟机安装自定义Docker后SSH/IAP Desktop连接失败问题

排查步骤

  • 通过GCP串行控制台接入机器
    这是当前唯一能直接访问故障虚拟机的途径:在GCP控制台的VM实例详情页找到「串行端口1」,启用后登录(使用预设的SSH密钥用户或本地密码)。

  • 检查SSH服务状态
    执行命令查看sshd运行状态:

    systemctl status sshd
    

    如果服务未启动,手动启动并设置开机自启:

    systemctl start sshd
    systemctl enable sshd
    
  • 验证SSH配置文件
    打开 /etc/ssh/sshd_config,确认以下关键配置项:

    • Port 22 未被注释或修改为未放行的端口
    • PermitRootLogin 设置为 prohibit-password(密钥登录场景)或 yes(密码登录场景)
    • PasswordAuthentication 匹配你的登录方式(密钥登录可设为 no,密码登录设为 yes)
    • AllowUsers 未限制登录用户(若配置需确保你的登录用户在列表内)
      修改后重启sshd服务:systemctl restart sshd
  • 检查防火墙规则

    1. 系统层防火墙(firewalld):
      firewall-cmd --list-all
      
      确认ssh服务在允许列表中,若不在则添加并重载规则:
      firewall-cmd --add-service=ssh --permanent
      firewall-cmd --reload
      
    2. GCP VPC防火墙:确认已放行来自IAP网段(35.235.240.0/20)及同网络虚拟机IP段的22端口流量。
  • 排查Docker安装脚本的改动
    检查你的自定义Docker安装脚本,确认是否包含以下操作:

    • 修改/etc/sysctl.conf等网络配置文件
    • 替换或修改SSH配置文件
    • 执行iptables规则调整或防火墙配置变更
      对比正常RHEL虚拟机的关键文件(如/etc/ssh/sshd_config、/etc/firewalld/zones/public.xml),定位差异点。
  • 检查文件权限与SELinux残留问题
    虽然已禁用SELinux,但脚本可能修改了SSH相关文件的权限:

    ls -l /etc/ssh/sshd_config
    ls -l /var/empty/sshd
    

    确保/etc/ssh/sshd_config为root:root所有,权限为600;/var/empty/sshd权限为700且属主为root。

  • 验证网络配置
    执行ip addr确认内网IP正常分配,ip route检查默认路由是否正确。若Docker脚本创建了自定义网桥,可能干扰了系统默认网络,可尝试停止Docker服务后测试连接:

    systemctl stop docker
    

解决建议

  1. 若SSH服务未启动或配置被篡改,恢复正确配置并重启服务。
  2. 若防火墙规则被修改,重新添加SSH允许规则并同步GCP VPC防火墙配置。
  3. 定位Docker脚本中导致网络/SSH异常的命令,调整后重新部署测试。
  4. 在新RHEL虚拟机上分步骤操作:先禁用SELinux重启测试连接,再执行Docker安装脚本的每一步并验证连接,快速定位故障触发点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:52:44