이 안내서 는 ssh-agent가 여러 시스템에서 어떻게 작동하는지 설명하는 훌륭한 작업을 수행합니다. 마지막 다이어그램 세트에서와 같이 전달 설정을하고 싶지만 그렇게하는 데 필요한 단계를 추적하는 데 문제가 있습니다.
들어 일부 내 네트워크에있는 기계, 나는 이제까지 인증서 암호를 입력하지 않고, A로부터 B, C로 다음 B로 ssh를 할 수 있습니다. 그러나 다른 컴퓨터는 “인증 에이전트에 대한 연결을 열 수 없습니다”(때로는!)를 표시 한 다음 인증 정보를 전달하지 않습니다. 이러한 컴퓨터 중 하나에서 네트워크의 다른 상자로 SSH를 연결하면 개인 키 암호를 다시 입력하라는 메시지가 나타납니다.
나는이 머신들을 만들지 않았지만 그 중 일부는 관리 할 수 있습니다. 나는 작동하지 않는 박스와 작동하지 않는 박스의 차이점이 무엇인지 확실하지 않습니다. 방화벽 문제, ssh / ssh-agent / sshd 구성 등이 될 수 있습니다. 네트에 떠 다니는 포워딩과 관련된 단계별 가이드 . 이 문제를 추적 할 위치를 알아야합니다.
답변
클라이언트 (에서 ForwardAgent
옵션 ~/.ssh/config
) 및 서버 (에서 AllowAgentForwarding
옵션)에서 SSH 에이전트 전달이 허용되어야합니다 sshd_config
. 머신에 이러한 옵션 중 하나 또는 둘 모두에 대해 다른 기본 설정이있을 수 있습니다.
A-> B-> C로 갈 경우 B-> C 단계에서는 전달이 필요하지 않습니다 (물론 C-> D로 갈 경우는 제외).
B에 로그인하면 환경 변수 SSH_AUTH_SOCK
가 정의되어 있는지 확인하십시오 . 그 가치는 ssh
상담원에게 연락하는 방법을 아는 방법입니다.
에이전트 전달을 통해 클라이언트가 서버에 취약하지 않고 서버에 취약하게되고 원칙적으로 에이전트 전달을 수동으로 설정할 수 있다는 점을 감안할 때 서버에서 에이전트 전달을 금지 할 이유가 없습니다. 설정이 어려우면 에이전트 전달의 편의성에 문제가 생길 수 있습니다).
답변
위의 @Gilles가 정답을 이미 가지고 있지만 AllowAgentForwarding
OpenSSH 5.1 이상에서만 지원됩니다.
RHEL 4u5 상자에서 본 5.1 이전의 OpenSSH 서버는 기본적으로 에이전트 전달을 허용합니다. 따라서 서버가 5.1 이전이고 에이전트 전달이 작동하지 않는 경우 ssh 클라이언트에 문제가있을 수 있습니다. 일부 컴퓨터에서는 전달이 작동하는 것 같으므로 제대로 /etc/ssh/ssh_config
설정 되어있는 것 같습니다 . ~/.ssh/config
영향을받는 상자에 대해 에이전트 전달을 비활성화하기 위해 예외가 있는지 확인 하십시오.