A의 특정 개인 키를 사용하여 A에서 B로 SSH를 연결하고 싶습니다. 그런 다음 B에 ssh를 보낼 때 사용한 것과 동일한 자격 증명을 사용하여 B에서 C로 ssh를 보내고 싶습니다.
SSH 세션에서 첫 번째 세션 내에서 시작된 다른 SSH 세션으로 자격 증명을 "전달"할 수 있습니까?
답변1
예.
당신이 찾고 있는 것은SSH 에이전트 전달. ssh-agent
로드를 사용하여 키를 잠금 해제하고 ssh에서 사용할 수 있게 만드는 방법을 배우면 ssh-client
클라이언트는 향후 SSH 클라이언트가 원래 에이전트와 통신할 수 있도록 연결 체인을 따라 이 데이터를 전달할 수 있습니다.
이 외에도 귀하 ForwardAgent yes
의SSH 구성이러한 권한을 허용해야 하는 다양한 시스템의 경우. 이로 인해 몇 가지 새로운 보안 문제가 발생한다는 점을 알아야 합니다. 당신은 불장난을 하고 있습니다. 우리가 경고하지 않았다고 말하지 마세요!
답변2
이 답변을 제외하고케일럽이 쓴 것. 신뢰할 수 없는 호스트에 대한 SSH 에이전트 전달을 활성화할 때는 주의해야 합니다. 내가 하는 일은 ~/.ssh/config
다음과 같이 내 파일에 특정 호스트를 나열하는 것뿐입니다.
ForwardX11 yes
Host trusted-server
ForwardAgent yes
Compression yes
Host trusted-desktop
ForwardAgent yes
ForwardX11Trusted yes
이렇게 하면 모든 사람이 X11 전달을 사용할 수 있지만 OpenSSH는 SECURITY 명령을 필터링합니다. 서버에서 압축을 활성화하고 데스크탑에서 Trusted X11(필터링 없음)을 활성화하고 두 서버 중 하나에 연결할 때 SSH 프록시를 활성화합니다.