【发布时间】:2016-08-02 19:29:43
【问题描述】:
我正在从 AWS 迁移,我正在使用 ansible 部署到 Google Cloud 计算实例。我正在尝试使用授权密钥在盒子上设置一些用户。这曾经适用于 AWS,但似乎用户管理对于 Google Compute 有点不同。这就是我正在做的事情。
在本地创建了一个 ssh-key。将此密钥(公共)放在 ansible 文件中,并将其复制到在 /home/deploy/.ssh/authorized_keys 中创建(使用 ansible)的新用户
我仍然无法在本地机器上使用此密钥登录。
$ ssh -i ~/.ssh/deploy_rsa deploy@<host>
是否有允许登录该框的用户列表?我只能配置用户从云控制台登录到盒子吗?
编辑
$ ssh -i ~/.ssh/deploy_rsa deploy@<host>
... skipped some logs here ....
Here's SSH logs from client side:
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /Users/ankit/.ssh/gcloud-rsa (0x7ff1d16105e0),
debug2: key: /Users/ankit/.ssh/deploy_rsa (0x0), explicit
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/ankit/.ssh/gcloud-rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/ankit/.ssh/deploy_rsa
debug3: sign_and_send_pubkey: RSA SHA256:h+yezPKOVjeA2ZKOAN/1r1GRe2s1nyGKwG6wobm+Vh0
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
客户选择的另一个密钥来自~/.ssh/config
【问题讨论】:
-
试试这个:stackoverflow.com/questions/37798431/… 请注意,如果您鲁莽地打开太多端口,您可能会遭受随机的互联网出口费用。正如@Dagang 所说,只需打开端口 22(链接中 3 条规则中的第 2 条)
-
嗨@Salmonstrikes 我认为问题不在于网络。它让我从主要用户那里 ssh。它只会阻止我在盒子上手动配置的第二个用户。这似乎是 VM 如何处理身份验证的问题(sshd pam?)
-
你能检查 /home/deploy/.ssh/authorized_keys 是否真的存在?我尝试在远程主机上创建一个新用户,但结果发现它的主目录甚至没有以某种方式创建。
-
我不确定目录是否已创建,我的脚本配置为在目录不存在时创建目录。所以它现在存在。它还创建了具有正确权限和所有者的 authorized_keys 文件。
-
您希望该设施对虚拟机具有多个用户访问权限,这是您想要的吗?
标签: ssh google-compute-engine google-cloud-platform