我正在尝试通过 Mac 终端连接到 Amazon EC2 服务器。我有一个没有附加密码的PPK文件,但是当我尝试连接时,我收到一个弹出框,上面写着"输入SSH私钥的密码"。
因此,我们尝试创建一个具有密码的PPK - 但它不接受密码,它仍然拒绝连接。
我有一个Windows用户,他能够在Putty上使用相同的PPK进行连接。
有没有人遇到过这个问题?
mac 正在寻找 .pem 密钥。ppk 是专门为腻子生成的。如果您没有原始的 ppk 密钥。
从 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载 puttygen.exe 然后转到转换 ->导出 OpenSSH 密钥。将输出另存为 .pem 文件,并尝试将其与 mac 一起使用。
如果这不起作用,您可以发布从 mac 运行的命令吗?您可能有一些额外的参数或其他东西。
也许您的问题出在密钥的权限上。我知道在 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 的密码短语:(
Enter your password for the SSH key x
可能是由于在 ssh 或 sftp 中使用了错误格式的密钥(例如 ppk 密钥(导致的。这是因为它被解释为加密的 ssh 密钥,因此在实际上没有密码短语时会提示输入密码。
在OS X中,我只需在命令行中键入以下内容即可模拟此错误:
sftp -o IdentityFile=randomtextfile mysftpserver.com
解决方案是按照 bwight 的建议使用 puttygen 转换文件。
除了其他答案之外,问题可能来自您尚未指定要连接的用户这一事实。
例如,ssh -i francky.pem 208.52.170.43
会在Mac上要求您输入密码,而ssh -i francky.pem root@208.52.170.43
不应该。请注意,在 Linux 上,您不指定用户。
我在MAC中遇到了完全相同的问题,我找到了一种非常简单的摆脱它的方法。不要使用 ssh -i IP 地址,而是使用以下地址>SSH user@IP
希望经过这么长时间,您已经找到了答案:)
就我而言,问题在于文件的中断类型。试试这个:
1.- 使用文本牧马人打开 .pem 文件
2.-在应用程序底部,验证中断类型是否为"Windows(CRLF("。
这个问题让我把头发拔掉了 20 分钟左右。 意识到我能够从另一个终端窗口成功连接。 就我而言,我只需要关闭当前终端窗口并使用另一个或新窗口。 很奇怪,但可能会帮助你。