使用PPK和SSH时,Mac终端会继续询问密码

时间:2012-02-21 18:57:07

标签: macos terminal amazon-web-services private-key

我正在尝试通过Mac终端连接到Amazon EC2服务器。我有一个没有附加密码的PPK文件,但是当我尝试连接时,我得到一个弹出框,上面写着“输入SSH私钥的密码。”

所以我们尝试创建一个有密码的PPK - 但是它不接受密码,它仍然拒绝连接。

我有一个Windows用户,可以在Putty上使用相同的PPK进行连接。

有没有人遇到过这个问题?

7 个答案:

答案 0 :(得分:24)

mac正在寻找.pem密钥。 ppk是专门为腻子生成的。如果你没有原始的ppk密钥。

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载puttygen.exe然后转到转化 - >导出OpenSSH密钥。将输出保存为.pem文件,并尝试将其与mac。

一起使用

如果这不起作用,你可以发布你从mac运行的命令。你可能有一些额外的参数或其他东西。

答案 1 :(得分:19)

也许您的问题在于您的密钥权限。我知道在linux中需要更改权限。

摘自网站http://om4.com.au/ssh-rsa-key-pairs-passphrases-leopard/

  1. 清除〜/ .ssh目录的内容并将目录权限设置为700(目录需要为“可执行”) $ rm~ / .ssh / * $ chmod 700~ / .ssh

  2. 生成您的rsa密钥对(有相应的变体,但这是我使用的版本): $ ssh-keygen -t rsa

  3. 将〜/ .ssh中所有文件的权限设置为600 $ chmod 600~ / .ssh

  4. 将id_rsa.pub密钥复制到服务器的.ssh / authorized_keys文件

  5. 使用以下命令将密码添加到您的钥匙串: $ ssh-add -K (您将看到[您的系统]输入密码短语/ .ssh / id_rsa:)

答案 2 :(得分:4)

在ssh或sftp中使用错误格式的密钥(例如ppk密钥)可能导致错误Enter your password for the SSH key x。这是因为它被解释为加密的ssh密钥,因此当实际上没有密码时,会提示输入密码。

在OS X中,只需在命令行中键入以下内容即可模拟此错误:

sftp -o IdentityFile=randomtextfile mysftpserver.com

解决方案是按照bwight的建议使用puttygen转换文件。

答案 3 :(得分:2)

除了其他答案之外,问题可能来自您未指定要连接的用户的事实。

例如,ssh -i francky.pem 208.52.170.43会在Mac上询问您的密码,而ssh -i francky.pem root@208.52.170.43则不会。请注意,在Linux上,您不指定用户。

答案 4 :(得分:0)

我遇到了MAC中完全相同的问题,我找到了一种非常简单的方法来摆脱它。 而不是使用ssh -i IP地址,请使用以下> ssh user @ IP

希望你在这么久之后找到了答案:)

答案 5 :(得分:0)

就我而言,问题是文件的中断类型。试试这个:

1.-使用TextWrangler打开.pem文件

2.-在app的底部,验证Break Type是否为“Windows(CRLF)”。

答案 6 :(得分:0)

这个问题让我把头发拉了20分钟左右。意识到我能够从另一个终端窗口成功连接。在我的情况下,我只需要关闭当前的终端窗口并使用另一个或新窗口。很奇怪,但可能会帮助你。