如何解决无法通过SSH / gcloud进入默认的Google深度学习虚拟机
我创建了一个新的Google深度学习VM,除了不要求GPU之外,所有其他默认值都保持不变:
VM实例已成功启动:
但是我无法通过SSH进入
尝试与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].
为什么?
VM实例详细信息:
解决方法
事实证明,我的组织已禁用了基于浏览器的SSH客户端和基于浏览器的gcloud客户端,这就是为什么我无法访问VM的原因。给出我的原因是,要允许基于浏览器的SSH,必须将VM暴露给整个网络,因为Google并未提供其用于基于浏览器的SSH的IP列表。
因此,人们可以先通过本地SSH客户端通过使用GCP Web控制台上载SSH密钥来SSH到GCP VM。有关如何在GCP中使用本地SSH客户端的文档,请参见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]".
,
要连接到VM实例,您必须遵循GCP上的guide,然后在IAM&Admin下通过必要的授权来设置角色。
,请这样做:
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
并再次,问题应该得到解决!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。