Ubuntu上的OpenSSHlogin

我一直在试图build立公钥/私钥login,并在它不成功。 我一直在遵循可能/不可能不完整的指南。 我做了以下几点:

  • 用puttygen生成公钥/私钥对。
  • 上传公钥到服务器
  • 将该公钥移至/home/user_name/.ssh/authorized_keys
  • 设置腻子使用密钥authentication

当我然后尝试login时,我收到消息

 The server has refused our key 

我做错了什么?

使用腻子时需要特殊的格式。

您应该查看日志: /var/log/auth以查明发生了什么事情,从而阻止您的login。 通常是许可问题或者线路中断(应当全部在一行中)或者在腻子错误的键格式的情况下。

可以使用由puttygen生成的RSA密钥。

这里有一个关于如何使用puttygen和openssh使用RSA密钥的video教程。 遵循相当简单。

你的〜/ .ssh文件夹或你的主目录本身的权限很可能太宽松了。

我遇到的关键问题是~/.ssh/目录下的文件权限 – 它不应该是组或世界可读的,否则ssh将不会使用它。 但是,如果您手动创build目录,那么它将不具有正确的权限。 用于更改目录以具有正确权限的命令是:

 chmod 700 ~/.ssh