リモート サーバーから SSH エージェント転送が実行されているかどうかを確認するにはどうすればよいでしょうか?

リモート サーバーから SSH エージェント転送が実行されているかどうかを確認するにはどうすればよいでしょうか?

ローカルで、SSH エージェントをオンにして、キーを追加しました。

  1. $ eval $(ssh-agent)
    Agent pid 80
    
  2. $ ssh-add
    Identity added: /c/Users/...../.ssh/id_rsa (.....@........)
    

私の には~/.ssh/config、これがあります:

Host example
    User root
    HostName 123.45.678.912
    ForwardAgent yes

を実行するとssh example、接続に成功し、GitHub へのリモート テスト接続を行うと、転送されたキーを使用して認証されていることが確認できます。

root@example:~# ssh -vT [email protected]
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1j  16 Feb 2021
...
debug1: Will attempt key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
...
debug1: Offering public key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
debug1: Server accepts key: .....@........ RSA SHA256:abc123/123456abcdefghi/abcdefg12+abcdefghij agent
debug1: Authentication succeeded (publickey).
...
Hi ......! You've successfully authenticated, but GitHub does not provide shell access.

判断する方法はありますか?リモートマシン上このようなテスト接続なしでエージェント転送が機能するかどうか?

この答えを使用することを提案しました$SSH_AGENT_PIDが、ローカル マシンとリモート マシンの両方で空です。

答え1

変数がサーバー上で設定されていない場合は、エージェント転送が機能していないことを意味します。

転送の動作例。

$ echo "$SSH_AUTH_SOCK"
# Print out the SSH_AUTH_SOCK variable
> /tmp/ssh-6hNGMk10AZC/agent.89543

動作しない例

$ echo "$SSH_AUTH_SOCK"
# Print out the SSH_AUTH_SOCK variable
> [No output]
$ ssh -T [email protected]
# Try to SSH to github
> Permission denied (publickey).

関連情報