gpt4 book ai didi

google-compute-engine - 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic)

转载 作者:行者123 更新时间:2023-12-02 09:38:26 27 4
gpt4 key购买 nike

创建实例后,我可以使用 gcutil 或 ssh 登录。我尝试从实例底部列出的 ssh 链接复制/粘贴并得到相同的错误消息。

最佳答案

权限被拒绝错误可能表明 SSH 私钥认证失败。假设您使用的是从 gcutil 推荐的 Debian 或 Centos 镜像派生的镜像,它可能是以下之一:

  • 您没有将任何 ssh key 加载到您的 ssh 钥匙串(keychain)中,并且您没有使用 -i 指定私有(private) ssh key 选项。
  • 您的 ssh key 与您尝试登录的帐户的 .ssh/authorized_keys 中的条目都不匹配。
  • 您正在尝试登录计算机上不存在的帐户,或尝试以 root 身份登录。 (默认图像禁用直接 root 登录 - 大多数 ssh 暴力攻击都是针对 root 或其他具有弱密码的知名帐户。)

  • 如何确定实例上有哪些账户和 key :

    在标准 Compute Engine Centos 和 Debian 镜像上每分钟运行一个脚本,该脚本从元数据服务器获取“sshKeys”元数据条目,并根据需要创建帐户(具有 sudoers 访问权限)。此脚本需要 sshKeys 元数据中的“account:\n”形式的条目,并且可以将多个条目放入单个帐户的 authorized_keys 中。 (或根据需要创建多个帐户)

    在最新版本的镜像中,此脚本通过 syslog 将其输出发送到串行端口,以及机器上的本地日志。您可以通过 gcutil getserialportoutput 读取最后 1MB 的串口输出。 ,当机器没有通过 SSH 响应时,这很方便。

    如何 gcutil ssh作品:
    gcutil ssh执行以下操作:
  • $HOME/.ssh/google_compute_engine 中查找 key , 并调用 ssh-keygen如果不存在,则创建一个。
  • 检查 sshKeys 的项目元数据条目的当前内容对于看起来像 ${USER}:$(cat $HOME/.ssh/google_compute_engine.pub) 的条目
  • 如果不存在这样的条目,则将该条目添加到项目元数据中,并等待长达 5 分钟,以便元数据更改传播,并等待 VM 内的脚本注意到新条目并创建新帐户。
  • 一旦新条目到位,(或立即,如果 user:key 已经存在)gcutil ssh调用 ssh使用几个命令行参数连接到虚拟机。

  • 这可能会发生故障的几种方法,以及您可以采取哪些措施来解决它们:
  • 如果您删除或修改了读取 sshKeys 的脚本,控制台和命令行工具不会意识到修改sshKeys不起作用,上面的很多自动魔法都会被破坏。
  • 如果您尝试使用原始 ssh ,它可能找不到您的.ssh/google_compute_engine key 。您可以使用 gcutil ssh 来解决此问题,或复制您的 ssh 公钥(以 .pub 结尾)并添加到 sshKeys项目或实例在控制台中的条目。 (您还需要输入用户名,可能与您的本地计算机帐户名相同。)
  • 如果您从未使用过 gcutil ssh ,您可能没有 .ssh/google_compute_engine.pub文件。您可以使用 ssh-keygen创建一个新的 SSH 公钥/私钥对并将其添加到 sshKeys ,如上,或使用 gcutil ssh创建和管理 sshKeys .
  • 如果您主要使用控制台,则可能是 sshKeys 中的帐户名条目与您的本地用户名不匹配,您可能需要提供 -l SSH 的参数。
  • 关于google-compute-engine - 权限被拒绝(公钥、gssapi-keyex、gssapi-with-mic),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729694/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com