服务器上有多个 ssh 密钥

服务器上有多个 ssh 密钥

在一台机器(客户端)上,我想通过 ssh 连接到另一台机器(服务器)ssh server

在 的两台机器上~/.ssh,我有两个 RSA 密钥:

id_rsa
id_rsa.pub
id_rsa_other
id_rsa_other.pub

id_rsa_other 在两台机器之间是一致的,因为客户端上的文件被 scp 到服务器上。

id_rsa 文件用于其他连接,我不希望它们相互协作。

我是否应该期望它开箱即用?当我尝试时ssh server,它会检查密钥但无法进行身份验证并返回到提示输入密码。

我尝试添加

Host server
   IdentityFile ~/.ssh/id_rsa_other
   Hostname <actual server name>
   User <actual user name on server>

~/.ssh/config客户端,但这并没有改变任何东西。

如果我运行ssh -vvv server,我会看到它提供 id_rsa_other。

答案1

为了使ssh基于密钥的身份验证有效,您需要在目标机器(服务器)上有一个文件,通常位于用户主目录中,.ssh名为的子目录authorized_keys应包含您要使用的公钥/私钥对的公钥。在本例中为id_rsa_other.pub。因此,登录到服务器并执行以下命令:

cd ~/.ssh
cat id_rsa_other.pub >authorized_keys

然后尝试使用密钥登录该服务器

相关内容