SSH 에이전트 전달 문제 해결

SSH 에이전트 전달 문제 해결

특정 서버가 내가 설정한 프록시 전달을 따르지 않는 이유를 진단하려고 합니다.

클라이언트(macOS)에서 ssh -A원하는 수의 서버에 연결할 수 있으며 해당 서버에서 내 키가 SSH_AUTH_SOCK설정되고 표시되는 것을 확인할 수 있습니다.ssh-add -L

특정 호스트에서는 작동하지 않습니다. SSH_AUTH_SOCK로그인을 설정했지만 " ssh-add -L"이 표시됩니다 this agent has no identities..

첫째, 내 생각에는 SSH_AUTH_SOCK프록시 전달이 설정되면 AllowAgentForwarding클라이언트와 서버 모두에서 활성화된다는 의미에서 프록시 전달이 작동한다는 것입니다(이것이 사실인지 확인했습니다).

예를 들어:

문제의 호스트에서:

$ echo $SSH_AUTH_SOCK
/tmp/ssh-ZpxzssfdPuZq/agent.14304

$ ssh-add -l
This agent has no identities.

이 호스트의 ssh 서버에 대해 DEBUG3설정 시 sshd 로그에서 다음과 같은 "프록시" 언급을 발견했습니다.

Jul  4 xxxxxxx hostname sshd[14924]: debug1: server_input_channel_req: channel 0 request [email protected] reply 0
Jul  4 xxxxxxx hostname sshd[14924]: debug1: session_by_channel: session 0 channel 0
Jul  4 xxxxxxx hostname sshd[14924]: debug1: session_input_channel_req: session 0 req [email protected]

이에 따라 클라이언트(macOS)에는 다음이 표시됩니다 ssh -vvv hostname.

debug1: Requesting authentication agent forwarding.
debug2: channel 0: request [email protected] confirm 0
debug3: send packet: type 98

여기에는 SSH 및 해당 구성에 대한 지식으로 다루는 모든 옵션과 시나리오가 포함됩니다. 그래서 문제를 해결하기 위해 어떤 추가 조치를 취할 수 있는지, 또는 제가 놓치고 있는 부분이 무엇인지 묻고 있습니다.

감사해요

답변1

Kusarananda의 의견은 매우 도움이 되었습니다. 확인해 보도록 안내해 주었습니다. 내 생각과는 달리 문제의 서버의 $HOME/.bash_profile에 "eval $(ssh-agent)"가 있었습니다. 그냥 확인해 볼 생각은 없었어요. 이것은 분명히 소켓을 덮습니다. 그 이유는 이 서버가 역사적으로 다른 서버에 연결하기 위한 소스로 사용되어 왔고 당시에는 여기에 프록시를 사용했기 때문입니다.

관련 정보