![SSH 公钥/私钥在 Windows 中有效,但在 Linux 中无效](https://linux22.com/image/1219643/SSH%20%E5%85%AC%E9%92%A5%2F%E7%A7%81%E9%92%A5%E5%9C%A8%20Windows%20%E4%B8%AD%E6%9C%89%E6%95%88%EF%BC%8C%E4%BD%86%E5%9C%A8%20Linux%20%E4%B8%AD%E6%97%A0%E6%95%88.png)
我有一台支持 SSH Key-Auth 登录的服务器。我制作了密钥对,并上传了它们……等等。简而言之,它在 Windows 中有效。我在 Windows XP 机器上使用 Putty 的密钥生成器(PuttyGen IIRC)制作了密钥对,但在 Linux 机器上我无法“解锁”密钥。
- 密钥文件的权限设置为 700。
- 密码是正确的,我百分之百确定。
- 我正在运行命令“ ”,并进行了明显的替换。
ssh -i mykey.ppk [email protected]
- 密钥在我的
~/.ssh
目录中。 - 错误是“
Permission denied (publickey,gssapi-with-mic).
”
我唯一能想到的就是它一定是 Linux 和 Windows 之间的某种东西。我试过通过电子邮件将密钥文件发送给自己,直接将其从我的其他硬盘复制到这个硬盘,让另一个人从他们的 Linux 安装中通过电子邮件将其发送给我……但都行不通。这是唯一阻止我全职使用 Linux 进行编码的事情(我真的很想这样做!)所以任何帮助都将不胜感激,谢谢!
答案1
在Windows机器上使用puttygen
,将私钥转换为openssh格式。
puttygen putty-key.ppk -O private-openssh -o ssh-key.pem
[来源]
答案2
PuTTY 使用自己的格式。您需要转换该格式,或者反过来开始。