我正在尝试通过Mac终端连接到Amazon EC2服务器。我有一个没有附加密码的PPK文件,但是当我尝试连接时,我得到一个弹出框,上面写着“输入SSH私钥的密码。”
所以我们尝试创建一个有密码的PPK - 但是它不接受密码,它仍然拒绝连接。
我有一个Windows用户,可以在Putty上使用相同的PPK进行连接。
有没有人遇到过这个问题?
答案 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/
清除〜/ .ssh目录的内容并将目录权限设置为700(目录需要为“可执行”) $ rm~ / .ssh / * $ chmod 700~ / .ssh
生成您的rsa密钥对(有相应的变体,但这是我使用的版本): $ ssh-keygen -t rsa
将〜/ .ssh中所有文件的权限设置为600 $ chmod 600~ / .ssh
将id_rsa.pub密钥复制到服务器的.ssh / authorized_keys文件
使用以下命令将密码添加到您的钥匙串: $ 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分钟左右。意识到我能够从另一个终端窗口成功连接。在我的情况下,我只需要关闭当前的终端窗口并使用另一个或新窗口。很奇怪,但可能会帮助你。