首页 > 解决方案 > 如何将 VSCode 连接到 GCP 实例

问题描述

我正在尝试将 VSCode 连接到我的 GCP 实例,但无法连接。从终端,我可以通过 ssh 进入机器,gcloud compute ssh my_machine_name但我不确定如何将其转换为 VSCode Remote-SSH 正在寻找的内容。当我在 VSCode 中创建配置时,我这样做了:

Host my_machine_name
    HostName my_machine_name
    User me@my_company.com

但是主机名是错误的,因为它只是机器的名称,而不是完整的主机名或 IP 地址。我什至没有告诉 VSCode 它是一个 GCP 实例。如何找到主机名?我想在我的配置中某处与真实主机名之间存在联系my_machine_name,但我找不到它。我找到了一个 GCP-Service.json 文件,其中包含以下键:

{
  "type": 
  "project_id": 
  "private_key_id": 
  "private_key": 
  "client_email": 
  "client_id": 
  "auth_uri": 
  "token_uri": 
  "auth_provider_x509_cert_url": 
  "client_x509_cert_url": 
}

但我看不到任何看起来像主机名或 IP 地址的东西。

只是为了看看,我尝试连接并收到以下错误:

Could not establish connection to "my_machine_name": Permission denied (publickey).

(请注意确定这是否相关,但有时当我第一次尝试连接时,我会得到以下信息,但在我单击“重试”后,它会再次返回公钥消息):

"Could not establish connection to "my_machine_name": Remote host key has changed, port forwarding is disabled."

所以我尝试像这样添加一个私钥:

Host my_machine
    HostName my_machine
    User user@my_company.com
    IdentityFile ~/.ssh/id_rsa

我也尝试了我的 GCP-Service.json 文件中的私钥,但得到了相同的结果。我应该怎么做才能将 VSCode 连接到我的 GCP 实例?

标签: visual-studio-codegoogle-cloud-platformgcloudvscode-remote

解决方案


只需运行gcloud compute config-ssh,您就可以example-instance.us-central1-a.MY-PROJECT进入您的 vs 代码 ssh 目标。config-ssh中的详细信息


推荐阅读