无法通过 ssh 连接到从 OVa 创建的谷歌云实例

时间:2021-05-14 05:29:07

标签: google-cloud-platform ssh

我使用以下命令从自定义 OVA 创建了一个谷歌云实例:

gcloud beta compute instances import instance --source-uri=gs://abc/xyz.ova --os=centos-7

在我用来创建 OVA 的虚拟机中,ssh 在端口 22 上启用。

不幸的是,我无法通过 ssh 连接到创建的实例。在 gcp 防火墙中启用 ssh 端口 22 尝试 ssh 时出现以下错误。

ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

我找不到确切的原因。

1 个答案:

答案 0 :(得分:1)

  1. 等待几分钟,然后重试。可能是:

    一个。实例尚未完成启动,或者 SSH 会话 被终止。

    B. SSH 密钥的元数据尚未完成传播到 项目或实例。

    c. Google Agent 尚未读取 SSH 密钥元数据。

  2. 确保用户已作为具有计算实例管理员角色的 IAM 用户通过 gcloud 身份验证;例如,运行 gcloud auth revoke --allgcloud auth login <iam-user> 然后再次尝试 gcloud compute ssh

  3. 使用 UI ssh 登录。这会创建一个临时 ssh 密钥,Google 代理还会执行代码路径以刷新 .ssh/authorized_keys 并解决 .ssh/ 和 .ssh/authorized_keys 的任何无效目录/文件权限。这种方法将解决与损坏的密钥、缺少目录/文件或无效的目录/文件权限相关的常见 gcloud compute ssh 问题。执行 UI ssh 后再次尝试 gcloud

  4. 确保根卷没有用完磁盘空间。

  5. 确保实例没有耗尽内存。

  6. 验证是否为项目或实例设置了 gcloud 的持久 SSH 密钥元数据。

在元数据中管理 SSH 密钥: https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys

  1. 验证 Linux Google 代理脚本是否已安装并正在运行。请参阅确定 Google 代理状态。如果未安装 Linux Google Agent,请重新安装。请参阅下面的访客代理安装指南。

来宾代理安装: https://cloud.google.com/compute/docs/images/install-guest-environment

  1. 检查登录到 /var/log/auth*.log 的身份验证问题,查看此日志是否有任何错误。如果由于无法登录虚拟机而无法访问此文件,则需要分离启动磁盘并将其附加到另一个虚拟机以查看日志。