2014-01-06 60 views
-1

我刚刚从PC切换到Mac。我一直使用PC上的一个密钥通过SSH连接到服务器。我认为我必须在Mac上连接的所有方法都是将.ssh目录复制到我的主目录中,然后在终端中使用正确的凭据运行ssh命令,但似乎无法正常工作。如何在新计算机上安装我的SSH密钥?

当我运行这个命令;

ssh [user]@[hostname] -p 2222 

我得到这个结果;

Permission denied (publickey). 

在我.ssh目录中,有三个.pub文件,并没有扩展名的三个关键文件。还有一个known_hosts文件和一个key_backup目录,其中有一些键。

+0

使用“man ssh”并检查“-i”选项的信息。如果您的密钥文件名称与预期的默认值不匹配,则可能需要使用“-i”选项或重命名文件。 – Ned

回答

2

假设您没有复制正确的密钥,您需要将您的身份添加到ssh-agent。请尝试以下操作:

ssh-add /Users/<username>/.ssh/id_rsa 

哪里<username>是你的用户名和id_rsa是私有密钥。使用绝对路径很重要。一旦成功,您将看到如下所示的内容:

Identity added: /Users/johndoe/.ssh/id_rsa (/Users/johndoe/.ssh/id_rsa) 

重复您想要的每个键。

+0

谢谢。我没有意识到我必须手动添加身份到ssh-agent。在这个过程中,我还发现我的密钥的权限是错误的,我不得不纠正他们在这个问题:http://stackoverflow.com/questions/9270734/ssh-permisssions-are-too-open-error –

0

只要您获得与存储在远程平台上的公钥相匹配的适当私钥,您所描述的就是正确的。

您可以在ssh命令中最多添加三个-v以获取更多调试信息。这可以确认它使用正确的键。其他要验证的事情是,Mac和远程盒上的密钥的拥有权和权限仅限于用户,而不是其他用户。

相关问题