putty ssh密钥转换成open ssh密钥

在windows下生成密钥常用putthygen,但是生成的密钥是putty专用的认证文件,无法转到linux下使用。
在linux下,安装putty。然后输入以下命令转换出open shh的私钥格式:

puttygen id.ppk -O private-openssh -o outfile

id.ppk是putthygen生成的密钥文件,outfile是要转换成的open ssh格式的私钥文件

再如法炮制,生成公钥文件:

puttygen id.ppk -O public-openssh -o outfile.pub

ok。现在就已经把putty ssh密钥转换成open ssh密钥了。

参考:putty ssh文件到open ssh的转换

一个问题:如何用ssh密钥对自动远程登录呢?参考了这篇文章,可是每次ssh登录仍然需要输入登录密码。不知道如何解决?

相关日志

1 Other Comment

7 Responses to putty ssh密钥转换成open ssh密钥

  1. 在 sshd_config 中强制指定 AuthorizedKeysFile %h/.ssh/authorized_keys
    然后,记得把 .ssh 目录设置为 700,authorized_keys 是 600,目录和文件属主是自己。
    authorized_keys 里面可以放多个 key,每个一行,要小心编辑器的自动换行保存(因为公钥开头有空格)。
    建议对于不同的用途使用不同的密钥,authorized_keys 文件里面是可以设置 options 的,详细可以看 http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html (可以设置一个没有密码保护的密钥在指定IP的电脑自动登录自己的账户执行指定的命令)
    另外,公钥无所谓转换了,puttygen 中间显示的就是公钥,ssh-keygen -y 也可以显示私钥的公钥。

  2. 你用key登陆ssh还需要密码,是因为你生成这个key的时候,输入了 passphrase

    这个密码不是ssh服务器的密码,而是你这个key的密码,感觉有点绕,不知道你理解了没有

    如果不想输入这个密码,两种方法,一种是你生成key的时候不输入 passphrase,二是使用 ssh-agent

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Additional comments powered by BackType