Linux

在 ~/.ssh/config 中以特定使用者身份 ssh 時指定特定身份文件

  • March 2, 2018

我想根據我對伺服器的 ssh 使用者指定一個特定的身份文件。

例如當 ssh as user1 從 host 1 到 host 2 as user1

[user1@host1 ~]$ ssh user1@host2

我想使用某個身份文件。但是,當我以 user1 身份從 host1 SSH 到 host2 作為 user2 時,我想使用不同的身份文件

[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

任何和所有的幫助表示讚賞。如果必須在其他地方進行配置,那也很好。我只是想避免在命令行上指定它。真的很想弄清楚這一點,因為這將是我的問題的一個很酷的解決方案!

您應該能夠使用Match指令執行此操作,例如

Host host2
 HostName host2.some.dom.ain
 Match user user1  
   IdentityFile ~/.ssh/id_user1  
 Match user user2
   Identityfile ~/.ssh/id_user2

引用自:https://unix.stackexchange.com/questions/427587