컴퓨터가 3대 있어요. 모두 SSH를 실행하고 모두 비밀번호 없는 모드가 활성화되어 있으며 PKI만 사용됩니다.
첫 번째에는 SSH를 통해 다른 두 개에 액세스하는 데 사용되는 키 쌍이 있습니다. 이 머신을 A라고 부릅니다.
따라서 B와 C는 모두 A의 공개 키를 갖고 authorized_keys
있으며 A는 비밀번호 없이 둘 중 하나로 SSH를 연결할 수 있습니다.
그러나 C의 파일에는 B의 공개 키가 없지만 authorized_keys
A -> B에서 ssh를 실행한 다음 B -> C에서 SSH를 실행하면 C에서 비밀번호 없이 ssh 세션을 연결할 수 있습니다.
왜 이런 일이 발생합니까?
A에서 B로 SSH를 보내고 있는데도 C가 B의 세션 요청을 거부해야 할까요?
답변1
ssh-agent
과 를 처리해야 합니다 AllowAgentForwarding
.
A의 개인 키는 로컬 시스템에 로드되어야 하며 ssh-agent
C AllowAgentForwarding
에서 B로 생성된 인증 확인이 B에서 A로(신뢰 체인에서) 전달되도록 활성화되어야 합니다. A는 ssh-agent
B가 전달한 C의 암호화 요청에 응답하고 있으며, 이는 C에서 사용자를 인증하고 B에서 사용자를 허용합니다.
B와 C의 sshd에서 비활성화하면 AllowAgentForwarding
다시는 발생하지 않습니다.