Windows SSH 要求输入密码

Posted

技术标签:

【中文标题】Windows SSH 要求输入密码【英文标题】:Windows SSH asking for passphrase 【发布时间】:2013-09-30 09:48:01 【问题描述】:

我在 Windows 机器上使用 Puttygen 生成了一个公钥/私钥 SSH 密钥对(没有密码),并将公钥复制到我的 Linux 服务器。当我在 Putty 中使用私钥时,一切都按预期工作。但是,当我尝试从 Windows 命令行 ssh 时,系统会提示我输入密码。由于没有,我无法登录。

ssh -T myserver.com
Enter passphrase for key 'C:\Users\myusername\.ssh\private.ppk':
Permission denied (publickey,gssapi-with-mic,password).

为什么提示我输入没有密码的密钥?

【问题讨论】:

这里是答案:***.com/questions/9631246/… 问题不在Linux端。问题出在 Windows 端。通过 Putty 使用时,我的密钥工作正常。只有当我尝试通过 cmd 提示符进行 SSH 时,它才会要求输入密码。 命令行ssh,是putty吗?如果不是,它可能有同样的问题,即无法识别 ppk 格式。 在下面查看我的答案。命令行 SSH 是通过 msysgit,它错误地使用了 Open SSH。 【参考方案1】:

问题是安装了 msysgit 以使用 OpenSSH。由于 kwys 是在 Puttygen 中生成的,因此它们不兼容。我将 GIT_SSH 环境变量更改为指向 Plink.exe,现在它工作正常。

【讨论】:

【参考方案2】:

如果有人使用 MINGW 来 ssh,他需要在 puttygen 选择 OPENSSH。

如果您已经使用 GIT_SSH 协议生成了一对,请转到 puttygen 并: 加载 -> 转换 -> 导出 OpenSSH 密钥

【讨论】:

以上是关于Windows SSH 要求输入密码的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 10 上连接 SSH。我不知道我必须输入啥密码

Capistrano 在部署时要求输入密码,尽管有 SSH 密钥

为啥 ssh 不要求时 git 要求输入密钥密码?

GitLab SSH要求输入密码(未知密码)身份验证失败

Capistrano 3 部署要求输入 SSH 密码,但无法输入

SSH 密钥要求在启动代理后输入密码