cygwin ssh没有腻子吗?

时间:2009-02-22 16:25:18

标签: ssh cygwin putty passphrase

我用putty w / no passphrase生成了一个键。 putty工作正常,但现在我安装了cygwin并想使用ssh登录。出于某种原因,我被提示输入密码?为什么?腻子只是直接登录?我不想生成新密钥并惹恼网络管理员。这是cygwin中的样子: $ ssh -i Documents \ and \ Settings / xxxxx / My \ Documents / xxxxx \ putty \ keys / private \ key.ppk dev.xxxxxx.com 输入密钥'Documents and Settings / xxxxx / My Documents / xxxxx putty keys / private key.ppk'的密码: 权限被拒绝(公钥)。

4 个答案:

答案 0 :(得分:19)

Putty使用自己的.ppk格式表示密钥文件,Cygwin的ssh可能无法正确读取它们。

解决方案:使用puttygen.exe将.ppk文件转换为OpenSSH密钥格式。

答案 1 :(得分:6)

您需要从putty网页http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html获取“puttygen.exe”,才能将您的密钥转换为OpenSSH格式。然后它应该工作。

答案 2 :(得分:2)

如果您可以使用putty登录,则无需“惹恼网络管理员”。只需使用cygwin生成一个新密钥,然后使用putty登录并将新的公钥放在.ssh / authorized_keys文件中。您现在应该可以使用cygwin的ssh登录。

编辑:

顺便说一下,“惹恼”任何管理员的可靠方法是使用未加密的密钥。

答案 3 :(得分:2)

您可以将PuTTY密钥导出为OpenSSH格式并将其附加到.ppk文件中,以便它成为ssh-add的有效密钥。

只需使用PuTTYGen导出私钥,然后将其添加到.ppk文件,然后您就可以ssh-add it。但请注意,当您使用PuTTYGen编辑.ppk时,它会覆盖该文件。

您还可以使用这样的脚本将.ppk文件添加到SSH代理中:

file=~/`basename $0`.tmp
trap "rm -v $file" EXIT
echo -n "Password: "
read -s pwd
echo $pwd | puttygen -P -q -O private-openssh $1 -o $file
ssh-add $file

来源:http://bazaar.launchpad.net/~renatosilva/+junk/scripts/view/head:/ppk-add.sh