別の非rootユーザーからのSSH_AUTH_SOCKへのアクセス
シナリオ: ローカルPCでssh-agentを実行していますが、すべてのサーバー/クライアントはSSHエージェント認証を転送するように設定されています。ローカルPCのssh-agentを使用して、すべてのマシン間を移動できます。うまくいきます。 自分自身(user1)としてマシンにSSHで接続し、 user2という名前の別のユーザー(sudo -i -u user2)に変更してから、ローカルPCで実行しているssh-agentを使用して別のボックスにsshする必要があります。ssh user3 @ machine2(user3のauthorized_keysファイルに私の公開SSHキーがあると仮定)のようなことをしたいとしましょう。 私がしているsudoを保つように構成されたSSH_AUTH_SOCKの環境変数を。 関与するすべてのユーザー(user [1-3])は、非特権ユーザー(rootではない)です。 問題: SSH_AUTH_SOCK変数が正しく設定されていても、別のユーザーに変更すると(その設定を/tmp/ssh-HbKVFL7799/agent.13799と言います)、user2は、user1によって作成されたソケットにアクセスできません。もちろん、そうでなければ、user2はuser1の秘密鍵を乗っ取り、そのユーザーとしてホップすることができます。 このシナリオは、user2のsudoを介してシェルを取得する代わりに、rootのsudoを介してシェルを取得した場合にうまく機能します。当然、rootはマシン上のすべてのファイルにアクセスできます。 質問: できればsudoを使用して、user1からuser2に変更しながら、user1のSSH_AUTH_SOCKに引き続きアクセスするにはどうすればよいですか?