cygwin ssh 没有腻子是吗?

Posted

技术标签:

【中文标题】cygwin ssh 没有腻子是吗?【英文标题】:cygwin ssh no putty yes? 【发布时间】:2010-10-09 04:15:09 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我有一个使用 openssh 生成的密钥对,然后转换为 putty 密钥。奇怪的是,腻子一号有效,但 openssh 无效。尝试使用 puttygen 但也没有运气。有什么想法吗? @user1084563:所以你有一个用openssh生成的密钥对,它不能用openssh工作?抱歉,我不认为 puttygen 可以解决这个问题。问题出在其他地方。 真的很有用。我的 cygwin ssh 工具现在可以工作了!菜单转换/导出 OpenSSH 密钥。谢谢乔纳斯!【参考方案2】:

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

【讨论】:

【参考方案3】:

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

编辑:

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

【讨论】:

【参考方案4】:

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

只需使用 PuTTYGen 导出私钥,然后将其添加到 .ppk 文件中,然后您应该可以通过 ssh-add 进行添加。但请注意,当您使用 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

【讨论】:

以上是关于cygwin ssh 没有腻子是吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cygwin 上下载 SCP 和 ssh?

Cygwin-安装和配置ssh服务

如何在 Cygwin 上从 CPAN 安装 Net::SSH2

没有这样的文件或目录 cygwin + rsyc

Cygwin ssh - 无法访问身份文件

如何在Cygwin中安装并配置SSH