로컬에서 SSH 에이전트를 켜고 키를 추가했습니다.
-
$ eval $(ssh-agent) Agent pid 80
-
$ 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).