使用私钥进行 SSH,无需密码

使用私钥进行 SSH,无需密码

我有一个 debian 7 64 位服务器,其中我的公钥已插入到authorized_file中。

我可以使用 putty 毫无问题地连接到我的服务器。

但是当我尝试使用 Babun 或其他终端上的命令行连接到我的服务器时,使用以下命令:

ssh -i /home/mykey.ppk root@myid

终端询问我密码但没有......

我如何连接到我的服务器?

问候。

答案1

Putty 密钥的格式与 OpenSSH 密钥不同。要转换它们并用于 cygwin/linux/cygwin 类 shell(如 badun,可能使用 OpenSSH),您需要使用普蒂根

  1. 打开 PuttyGen
  2. 单击“加载”
  3. 加载你的私钥
  4. 转到 Conversions->Export OpenSSH 并导出你的私钥

使用导出的密钥而不是 ppk 将允许您登录。

答案2

只是为了确保我理解的正确,您可以将密钥用于putty客户端,但不能用于openssh客户端?

openssh不知道如何处理文件.ppk(Putty Private Key),因此您需要使用程序进行转换puttygen

你可以在这里下载http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

或者,您可以通过运行来生成另一个密钥ssh-keygen。它会询问您一些关于保存位置以及是否要为密钥添加密码的问题。然后运行

ssh-copy-id -i /path/to/your_key remote_host_name

然后尝试通过运行登录到远程服务器

ssh -i /path/to/your_key remote_host_name

相关内容