원격 서버에서 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).

관련 정보