~/.ssh/config で特定のユーザーとして ssh を使用する場合は、特定の ID ファイルを指定します。

~/.ssh/config で特定のユーザーとして ssh を使用する場合は、特定の ID ファイルを指定します。

SSH経由でサーバーに接続するユーザーに基づいて特定のIDファイルを指定したいと思います。

たとえば、user1でuser1からhost2にsshを実行する場合

[user1@host1 ~]$ ssh user1@host2

特定のIDファイルを使いたいです。しかし、ホスト1からユーザー1にホスト2のユーザー2に移動するときは、別の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

すべての助けに感謝します。他の場所で構成する必要がある場合でも問題ありません。コマンドラインで指定するのを避けたいです。私の問題に対する素晴らしい解決策になるので、これを本当に見つけたいです!

答え1

Match次のディレクティブを使用してこれを実行できる必要があります。

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

関連情報