web-dev-qa-db-ja.com

〜/ .ssh / configで特定のユーザーとしてsshするときに特定のIDファイルを指定する

サーバーに対してsshを実行するユーザーに基づいて、特定のIDファイルを指定したいと思います。

たとえば、user1としてホスト1からhost 2にuser1としてsshする場合

[user1@Host1 ~]$ ssh user1@Host2

特定のIDファイルを使用したい。ただし、user1としてsshをHost1からHost2にuser2としてsshすると、別のIDファイルを使用したい

[user1@Host1 ~]$ ssh user2@Host2

これで、コマンドでIDファイルを指定してこれを行うことができます。

[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

どんな助けもありがたいです。これを別の場所で構成する必要がある場合も、問題ありません。コマンドラインでの指定は避けたいだけです。それが私の問題のクールな解決策になるので、これを理解したいです!

5
Tyler R

Matchディレクティブでこれを行うことができるはずです。

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