使用.pub文件建立SSH连接

4

我收到了客户的id_rsa.pub文件,并被告知要连接它。我尝试使用ssh-copy-id user@ec2-remoteserver.com添加密钥,但是出现了错误:Permission denied (publickey)。

然后我想尝试连接:

ssh -i /c/Users/kdash/Desktop/id_rsa.pub user@ec2-instance.com

现在出现了错误提示:

Load key "/c/Users/kdash/Desktop/id_rsa.pub": invalid format

请问有人能够帮助我理解如何添加给定的.pub密钥文件并访问远程服务器吗?

以前我使用.pem文件连接到服务器,例如:

ssh -i /c/Users/kdash/Desktop/server.pem user@ec2-instance.com

我不清楚如何使用 .pub 文件。


1
您不能使用.pub文件连接到服务器,这只是公钥部分。客户端可能希望您将其添加到您拥有的服务器上,以便他可以连接。 - Ferrybig
感谢Ferrybig的回复。客户拥有服务器。我请求他给我访问ec2上的dev实例的权限。所以他提供了.pub文件和语法ssh -i SSH/.ssh/id_rsa.pub user@domain.com。并告诉我可以使用这个语法来访问dev实例。过去我曾经使用客户端的.pem文件连接到ssh。而且那时候没有任何.pub文件。所以我不确定为什么这次他给了我.pub文件,以及如何连接? - Kiran Dash
我认为我应该将.pub密钥文件发送给客户。 - Kiran Dash
2
通常情况下,如果您在计算机上生成新的密钥对,然后将您的.pub文件发送给客户端,客户端应该将该文件附加到~/.ssh/authorized_keys中,这样,客户端可以确信来自该密钥的人是您,而不是从邮件/任何通信方法中嗅探数据的人。请参见服务器管理员向我发送了一个私钥供我使用。为什么? - Ferrybig
谢谢Ferrybig。现在我完全明白了。 - Kiran Dash
1个回答

3
客户端应该提供您连接到服务器的私钥。
我相信客户端一定已经将公钥添加到他们的~/.ssh/authorized_keys中了。
一旦客户端提供了私钥文件,那么您可以这样连接: ssh -i <private-key> user@ec2-instance.com 参见此处的示例,远程机器在~/.ssh/authorized_keys中添加公钥,然后用户可以使用私钥连接到它。

所以我想,您需要私钥文件才能连接到远程SSH服务器。

远程机器不应该将私钥添加到~/.ssh/authorized_keys中。


1
我之前不知道这个概念,但现在我明白了。感谢你。我会从客户那里获取私钥。如果他不同意,我会发送我的公钥并要求他将其添加到他的服务器上。 - Kiran Dash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接