我想根据我通过 ssh 连接到服务器的用户指定一个特定的身份文件。
例如,当以 user1 身份从主机 1 ssh 到主机 2 时
[user1@host1 ~]$ ssh user1@host2
我想使用某个身份文件。但是,当我以用户 1 的身份从主机 1 到主机 2 的用户 2 时,我想使用不同的身份文件
[user1@host1 ~]$ ssh user2@host2
现在,我可以通过在命令中指定身份文件来完成此操作,
[user1@host1 ~]$ ssh -i ~/.ssh/id_user1 user1@host2
[user1@host1 ~]$ ssh -i ~/.ssh/id_user2 user2@host2
但我很乐意在我的 ~/.ssh/config 文件中执行此操作。我尝试了以下方法,但似乎不起作用
Host user2@*
IdentityFile ~/.ssh/id_user2
Host user1@*
IdentityFile ~/.ssh/id_user1
感谢任何和所有的帮助。如果必须在其他地方进行配置,那也可以。我只是想避免在命令行上指定它。真的很想弄清楚这一点,因为这将是解决我的问题的一个很酷的解决方案!
答案1
您应该能够使用Match
指令来做到这一点,例如
Host host2
HostName host2.some.dom.ain
Match user user1
IdentityFile ~/.ssh/id_user1
Match user user2
Identityfile ~/.ssh/id_user2