基本上,正如标题所示,我想使用不同的 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/