【问题标题】:How can we SSH to a Google Cloud VM from Mac terminal using public key generated on the VM?我们如何使用虚拟机上生成的公钥从 Mac 终端 SSH 到谷歌云虚拟机?
【发布时间】:2019-08-09 04:01:16
【问题描述】:

我们希望使用从 Mac 终端在 VM 上生成的公钥连接到 Google Cloud VM。但是我们看到下面的错误

konathal:.ssh konathal$ ssh -i ~/.ssh/runnhostkey1.pub suren@1.2.3.4

Load key "/Users/konathal/.ssh/runnhostkey1.pub": invalid format
suren@1.2.3.4: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我们做了什么?

按照https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#createsshkeys 的文档进行操作

1.我们在 Google Cloud VM 上创建了一个新的公钥

~/.ssh/runnhostkey1
~/.ssh/runnhostkey1.pub 

2.将公钥runnhostkey1.pub内容添加到VM > Edit > SSH Keys

3.在本地mac新建文件,复制公钥内容

$ vi ~/.ssh/runnhostkey1.pub
$ chmod 400 ~/.ssh/runnhostkey1.pub

我们无法使用$ ssh -i ~/.ssh/runnhostkey1.pub suren@1.2.3.4 连接到虚拟机

我们缺少什么?

【问题讨论】:

    标签: ssh google-cloud-platform


    【解决方案1】:

    您不能使用公钥通过 SSH 进行连接。您必须使用私钥。

    VM 使用公钥来验证您的连接授权。

    您的私钥很可能是:~/.ssh/runnhostkey1

    【讨论】:

      【解决方案2】:

      我们找到了问题和解决方案:

      1) 密钥(公共和私有)文件的所有者和组应归用于生成密钥的用户所有。在我们的例子中,我们以 root 身份登录,但使用用户 suren 创建密钥。

      解决方案

      ssh-keygen -t rsa -f ~/.ssh/runnkey -C suren 但我们以root 登录运行此文件,因此文件的所有者为root。快速解决方法是更改​​所有权

      chown suren:suren ~/.ssh/runnkeychown suren:suren ~/.ssh/runnkey.pub

      2) 将公钥添加到 /.ssh/authorised_keys

      例如cat ~/.ssh/runnkey.pub >> ~/.ssh/authorized_keys

      3)更改文件的权限

       chmod 0700 /.ssh/authorised_keys
       chmod 0600 /.ssh/runnkey
       chmod 0600 /.ssh/runnkey
      

      4) 将密钥添加到 VM 实例。计算引擎 > 虚拟机实例 > [您要访问的虚拟机] > 编辑 > SSH 密钥。复制公钥的文本(vi ~/.ssh/runnkey.pub 复制)并在此处添加粘贴。保存。

      5)在本地mac的/.ssh文件夹下创建文件runnkeyrunnkey.pub,并复制服务器上相应文件的内容。

      示例测试命令:

      ssh -i ~/.ssh/runnkey.pub suren@1.2.3.4
      scp -i ~/.ssh/runnkey.pub /Downloads/ship.png suren@1.2.3.4:/home/temp
      

      上面的1,2,3在document中提到连接用户的$HOME或$HOME/.ssh目录权限错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-11
        • 2019-06-21
        • 2016-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多