sudo -u someuserした場合にsudoコマンドを打ったユーザーの秘密鍵の鍵を使いたい
例えば以下のように、SSHでログインした後にsudoでroot権限でコマンドを使う場合を考えます。
ホストOS ==(1)SSH==> ゲストOS vagrantユーザー ==(2)sudo==> ゲストOS rootユーザー
(1)のSSHした後もホストOSの秘密鍵を引き継ぐためには、~/.ssh/config
のゲストOS vagrantユーザーでのログインのセクションにForwardAgent yes
を追加すればよいです。
また(2)のsudo後に秘密鍵を引き継ぐためには、/etc/sudoers
にDefaults env_keep += "SSH_AUTH_SOCK"
を追加すればよいです。
どちらもssh-add -l
コマンドで、現在利用できる秘密鍵を確認できます。
現在以下の様な場合で煮詰まっています。
ホストOS ==(1)SSH==> ゲストOS vagrantユーザー ==(3)sudo -u someuser==> ゲストOS someuserユーザー
この(3)の場合、sudo -u someuser ssh-add -l
を行ってももとのvagrantユーザーで使っている秘密鍵(=ホストOSの秘密鍵)は表示されず、出力はCould not open a connection to your authentication agent.
となります。
sudo
にてroot以外のユーザーの権限でコマンドを実行する場合、秘密鍵を引き継ぐ方法はあるのでしょうか?