1

我创建了一个新的 Google 深度学习 VM,除了不询问 GPU 之外,保持所有默认设置:

在此处输入图像描述

虚拟机实例已成功启动:

在此处输入图像描述

但我无法通过 SSH 连接它:

在此处输入图像描述

尝试使用 with 时出现同样的问题gcloud(使用单击右侧实例的向下箭头按钮时提供的命令SSH):

在此处输入图像描述

ssh: connect to host 34.105.108.43 port 22: Connection timed out
ERROR: (gcloud.beta.compute.ssh) [/usr/bin/ssh] exited with return code [255].

在此处输入图像描述

为什么?


虚拟机实例详细信息:

在此处输入图像描述

4

3 回答 3

2

结果是我的组织禁用了基于浏览器的 SSH 客户端和基于浏览器的 gcloud 客户端,这就是我无法访问 VM 的原因。给我的原因是,为了允许基于浏览器的 SSH,必须将虚拟机暴露给整个网络,因为谷歌没有提供他们用于基于浏览器的 SSH 的 IP 列表。

因此,可以先使用 GCP Web 控制台上传一个人的 SSH 密钥,然后通过一个人的本地 SSH 客户端 SSH 到 GCP 虚拟机。有关如何将本地 SSH 客户端与 GCP 一起使用的文档,请参阅https://cloud.google.com/compute/docs/instances/connecting-advanced#linux-macos ( mirror )。


由于文档解析起来有点繁琐,以下是我在本地 Ubuntu 18.04 LTS x64 上运行的命令,用于上传我的 SSH 密钥并连接到 VM:

如果您还没有安装gcloud

# https://cloud.google.com/sdk/docs/install#linux (<- go there to get the latest gcloud URL to download via curl):
sudo apt-get install -y curl
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-310.0.0-linux-x86_64.tar.gz
tar -xvf google-cloud-sdk-310.0.0-linux-x86_64.tar.gz./google-cloud-sdk/install.sh
./google-cloud-sdk/bin/gcloud init

一旦gcloud安装:

# Connect to gcloud
gcloud auth login
# Retrieve one's GCP "username"
gcloud compute os-login describe-profile
# The output will be "name: '[some large number, which is the username]'"
# Create a new SSH key
ssh-keygen -t rsa -f ~/.ssh/gcp001 -C USERNAME
chmod 400 ~/.ssh/gcp001
# if you want to view the public key: nano ~/.ssh/gcp001.pub
gcloud compute os-login ssh-keys add --key-file ~/.ssh/gcp001.pub
gcloud compute ssh --project PROJECT_ID --zone ZONE VM_NAME
# Note that PROJECT_ID can be viewed when running `gcloud auth login`, 
# which will output "Your current project has been set to: [PROJECT_ID]".

于 2020-09-19T19:02:05.140 回答
1

为了连接到 VM 实例,您必须遵循 GCP 的指南,然后在 IAM & Admin 下设置具有必要授权的角色。

于 2020-09-19T15:44:13.703 回答
0

请做:

  • sudo gcloud compute config-ssh
  • gcloud auth login

登录到您的 Gmail 帐户。接受对 Google Cloud 的访问。

如果尚未完成,请稍后设置项目:

  • gcloud config set project YOU-PROJECT-ID

随心所欲地运行gcloud compute ssh

如果您仍然有问题,请删除此:

  • rm .ssh/google_compute_engine

再次运行gcloud compute ssh所需的一切,问题应该得到解决!

于 2021-05-30T01:10:57.417 回答