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

如何通过IAP隧道在PyCharm中远程连接无公网IP的Google云虚拟机

解决PyCharm通过IAP隧道连接GCP无公网IP VM的问题

我刚好碰到过类似的场景,给你几个可行的解决办法:

方法一:直接复用现有的SSH配置(最省心)

PyCharm其实完全支持读取你已经配置好的~/.ssh/config,不用手动填一堆参数,步骤很简单:

  1. 打开PyCharm,进入File > Settings > Tools > SSH Configurations(macOS上是Preferences > Tools > SSH Configurations)
  2. 点击左上角的+号,选择Import from ~/.ssh/config
  3. 在列表里找到你配置的compute.<instance_id>主机,选中导入就行
  4. 导入完成后,直接用这个配置建立连接——PyCharm会自动读取包括ProxyCommand在内的所有配置,和VS Code一样正常走IAP隧道

如果导入后还是出问题,检查下路径:

  • 确保/Users/<user_name>/google-cloud-sdk/bin在系统PATH里,或者在PyCharm的Settings > Tools > Terminal里配置正确的环境变量
  • 可以把ProxyCommand里的Python路径换成系统默认的/usr/bin/python3,避免conda环境的路径冲突

方法二:手动配置SSH连接(适合排查问题)

要是你不想导入配置,手动填的话得注意几个坑:

  • 用户名别填错! 应该填你的GCP用户名(也就是<user_name>),不是compute.<instance_id>——这是你之前报“主机格式不正确”的主要原因之一
  • 主机填compute.<instance_id>,端口保持22,认证类型选密钥对,私钥路径选~/.ssh/google_compute_engine
  • 关键步骤:在SSH配置的Advanced选项卡中,找到Proxy command,把你~/.ssh/config里的那串命令原封不动填进去(记得替换占位符):
    /Users/<user_name>/miniconda3/bin/python3 -S /Users/<user_name>/google-cloud-sdk/lib/gcloud.py beta compute start-iap-tunnel <instance_name> %p --listen-on-stdin --project=<project_name> --zone=us-central1-a --verbosity=warning
    

方法三:用PyCharm官方的Google Cloud插件

PyCharm有官方的Google Cloud Tools插件,完全不用手动配SSH,直接连GCP项目就行:

  1. 在PyCharm的Settings > Plugins里搜索安装Google Cloud Tools
  2. 安装好后,打开右侧边栏的Google Cloud工具窗口
  3. 登录你的GCP账号,找到对应的项目和VM实例
  4. 右键点实例,选Connect with SSH——插件会自动通过IAP隧道建立连接,全程不用额外配置

这个插件还能直接部署代码、查看GCP各种资源,对经常用GCP的人来说特别方便。

额外排查小技巧

  • 先确保gcloud是最新版:终端运行gcloud components update更新
  • 检查IAP权限:你的GCP账号需要有roles/iap.tunnelResourceAccessor权限,不然连不上隧道
  • 测试代理命令:在终端直接执行ProxyCommand里的命令(把%p换成22),看看能不能正常建立隧道,排除命令本身的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:59:06