サーバーにSSH接続した場合:
ssh root@<ip> -A
次に、これをリモートで行います。
ssh [email protected]
# Hi username! You've successfully authenticated
次に、これをリモートで:
su user -
次に、これをリモートで:
ssh [email protected]
# Permission denied (publickey).
ユーザーに直接SSH接続せずにこれを機能させるにはどうすればよいですか(頻繁に簡単に切り替える必要があるため)
ありがとう
これは予想通りです。何が起こっているのかというと、_ssh -A
_すると、SSHエージェントにすでにロードされている証明書が、サーバーで開いたユーザーセッションで使用できるようになります。次に、su
を使用してユーザーを他のユーザーに変更すると、その特権はセキュリティ関連の理由でターゲットユーザーに付与されません。代わりに通常やりたいことは
ssh -A user@ip
_またはeval "$(ssh-agent)" && ssh-add
を使用してそこに鍵をロードします。