1

我允许亚马逊为我创建一个密钥对。它有效,我可以 ssh 进入。

我使用 PuTTYgen 创建了另一个密钥对。

遵循https://help.ubuntu.com/community/SSH/OpenSSH/Keyshttp://www.cyberciti.biz/tips/linux-multiple-ssh-key-based-authentication.html的指示

  • 我执行了命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 重新启动了 ssh 服务

结果authorized_keys如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCIm2L1LrZji0ZjS0BFpo+lPresjSzBru2kZYQFwT2fB/6vsC+n1hPmA5peRkubMk5ahGawvqODX4ERYYMkP/imKK95el3Gx9n1zUO58PR2EH7qeRHZYtw1OwivDndTgB3eykJGtwJ80iyKa/H0yI8QdKNeQk91fRe9SntCHO63xfqvZKUjNgDtXhGmRAumCcwdMHU4viWlgIGcj7mARz+JDTD/8s8JbiW7UyUqxKGDwv0TZxxNbvIbUduQ61hkogPPaK9ECRBX5cc0iS44FgG8SbIGUZLt7/eV5tc8pAjQc5pWyZBDewV4E2HbCtHM6MoWtbmMKQjIzSauUnkUCWG/ crave
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20141212"
AAAAB3NzaC1yc2EAAAABJQAAAQEA03FN7q5+yoRw3Fp9iJbd70Mc1Cbrc+z8SsFT
DaP27uoJy9eRjizikkIEhJNAU9Ql86S78oJzfiw+DrWVeoMHBMmY6yV/KFHBYlhl
waJp7dk9hwlQyCZRY4iiZT2o+TPcYj0FCk1V/Am8svtlgVNuRfo9G4zmBeRc+Njt
zfTZDmUpN1u70FVNOhGNHq2rSyG+Q8RJO1pX8jg82kXusHxZRMK6LlhBdaWEbr2w
Y8X89Eqg2UjNfkl4cOmx3rvVfK6xHbKoeGPEdDXDKghiflM1GCNwG4khIBDBLXZs
8bYzeTcIKGa3WAN7MoO1tvVKwpMVHR673Ypz3dLpD53WjxNmCw==
---- END SSH2 PUBLIC KEY ----

第一个仍然使用 Amazon 生成的私钥,但第二个公钥无法识别 PuTTYgen 创建的私钥。

我明白了

服务器拒绝了我们的密钥

4

1 回答 1

2

当我按照您对自己指出的(正确)说明进行操作时,我的id_rsa.pub文件将遵循预期的格式:

ssh-rsa <key> comment>

如果您附加了上述格式的公钥,它将起作用。

虽然我相信您实际上没有遵循说明,但从 PuTTYgen 保存的公钥是它自己的多行格式(正如我们在您的结果中看到的那样authorized_keys)。

OpenSSH 服务器不理解该格式。

解决方案:

  • 要么真正遵循您完全指出的说明(特别是使用生成密钥对ssh-keygen

  • 或者按照 PuTTYgen 的说明,从 PuTTYgen 框中复制粘贴 OpenSSH 格式的公钥,用于粘贴到 OpenSSH 授权密钥文件中。

于 2014-12-12T14:56:11.817 回答