我做了什么:
我正在尝试使用私钥连接到我的远程服务器
ssh -i privkey.ppk root@ip
但它返回了一个错误。
错误信息:
Load key "privkey.ppk": invalid format
root@ip: Permission denied (publickey).
预期结果:
我应该能够使用 ssh 密钥登录到我的远程服务器。
关键文件内容:
PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20181019
Public-Lines: 6
some lines
Private-Lines: 14
some lines
Private-MAC: some letters
操作系统:Ubuntu 18.04
(附言:
- 我在 putty 和 termius 中使用相同的密钥登录我的远程服务器,并且运行正常
- Ansible ping cmd 也返回相同的结果)
答案1
此密钥由 PuTTYgen 软件生成。要在 Linux 中使用它,您应该启动 PuTTYgen,加载密钥(文件->加载私钥),然后将其导出为 OpenSSH 密钥(转换->导出 OpenSSH 密钥)
答案2
我的 PPK 是 Putty PPK 格式,我必须将其转换为 OpenSSH 格式。
我使用这个将 .ppk 转换为 OpenSSH回答,现在我可以连接了。
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub