当使用ssh与priv / pub keys时,如何使用不同于原始机器的用户连接到目的地?

我需要连接到主机B使用user2从hostA,我使用user1连接。

我在hostA上为user1运行了ssh-keygen,并将在id_rsa.pub中生成的公钥复制到了hostB的user2的authorized_keys中。

然后我尝试使用以下命令从hostA连接到hostB:

$user1@hostA> ssh user2@hostB 

我仍然收到一个密码请求:

  user2@hostB's password: 

如果我尝试在两台主机上使用相同的用户进行连接,则可以正常工作:

  $user1@hostA> ssh user1@hostB Enter passphrase for key '/home/user1/.ssh/id_rsa': 

我错过了什么?

如果不喜欢权限,sshd会忽略你的文件。 我能够通过设置“user2”的〜/ .ssh目录世界可复制这种行为。

你需要告诉你的ssh使用user2的私钥而不是你的(user1):

$user1@hostA> ssh -i /path/to/private_key_of_user2 user2@hostB

您还可以将user1的pub密钥放在hostB的user2的authorized_keys文件中。