从同一工作站使用多密钥(多个用户)进行 ssh 登录

从同一工作站使用多密钥(多个用户)进行 ssh 登录

基本上,正如标题所示,我想使用不同的 shell 中的不同帐户从我的工作站登录到 SSH 服务器。我想做的是使用 rsync 将我的所有帐户从该服务器备份到我的硬盘上,但如您所知,如果已生成密钥,rsync 就可以建立连接。

我已经设置了一个无需密码即可登录的密钥账户。我所做的就是在服务器上生成一个密钥,然后将其下载到我的 ~/.ssh 文件夹中。我用另一个账户尝试了,并更改了密钥的名称。然后我将其下载到我的 ~/.ssh 中……但无法使其工作。

我不是这方面的专家。如果您能提供任何提示或设置方法,我将不胜感激。

干杯

答案1

默认情况下,SSH 会查找具有特定名称的密钥,即~/.ssh/id_rsa~/.ssh/id_dsa~/.ssh/id_ecdsa。如果您的密钥被命名为其他名称,除非您告知,否则 SSH 将无法找到它。有两种方法可以解决此问题。

第一种是使用 SSH 客户端配置文件。使用一行Host匹配服务器的主机名,然后进行IdentityFile适当设置。例如:

Host server1.example.com
    IdentityFile ~/.ssh/id_rsa-server1

Host server2.example.net
    IdentityFile ~/.ssh/id_rsa-server2

第二种选择是在 rsync 命令中指定密钥。为此,您需要使用参数-e来告诉 rsync 要使用哪种传输。这看起来像这样:

rsync -e 'ssh -i ~/.ssh/id_rsa-server1' server1.example.com:~/ ~/server1/

相关内容