이중 SSH는 RSA 키 잠금을 해제하기 위해 암호를 요청하지만 그렇게 해서는 안 됩니다.

이중 SSH는 RSA 키 잠금을 해제하기 위해 암호를 요청하지만 그렇게 해서는 안 됩니다.

나는 OS X를 실행하는 M1과 M2라는 두 대의 컴퓨터를 갖고 있고, Linux를 실행하는 세 번째 컴퓨터인 L을 가지고 있습니다. M1과 M2에는 키체인에서 RSA 키가 잠금 해제되어 있으므로 다음을 수행할 수 있습니다.

  • 비밀번호나 키의 비밀번호 문구를 묻지 않고 M1에서 M2로 ssh
  • 비밀번호나 키의 비밀번호 문구를 묻지 않고 M2에서 L로 ssh

그러나 M1에서 M2로, 그리고 L로(아직 물리적으로 M1에 있는 동안) ssh를 하면 키의 암호를 묻습니다! 명령 login.keychain을 사용하여 수동으로 잠금 해제를 시도했지만 security아무런 효과가 없는 것 같습니다.

무슨 일이 일어나고 있나요? 암호 문구를 입력하지 않고 SSH를 이중으로 사용하려면 어떻게 해야 합니까?

답변1

키체인은 제대로 작동하고 있습니다. -A가 수행하는 작업은 로드된 키를 M1에서 M2를 거쳐 L로 전달하는 것입니다. M2에 로그인할 때 키를 초기화하거나 전체 세션을 시작하지 않는 것 같습니다. 모든 부작용과 함께 그래픽 로그인 프로세스가 발생하지 않았습니다.

ssh를 사용하는 모든 위치에 에이전트를 전달하려면 ~/.ssh/config 파일을 생성하고 ForwardAgent가 yes로 설정된 * 호스트에 대한 항목을 추가해야 합니다.

Host *
    ForwardAgent yes

또한 *를 호스트 이름으로 바꾸면 에이전트를 전달할 호스트를 더 구체적으로 지정할 수 있습니다.

답변2

M2에서 L로 로그인을 시도하고 있습니다. 즉, M2에는 자격 증명(키 및 암호)이 있어야 합니다. 하지만 귀하의 자격 증명은 실제로 M1에 있습니다.

자격 증명을 M2에 복사할 수 있지만 그런 다음에는 M2의 키체인과 상호 작용해야 합니다. 또는 M2의 키체인이 아닌 M1의 키체인에 연결하도록 M2에 지시할 수 있습니다. 이는 실제로 일반적인 방법이며 일부 설치에서는 즉시 작동하지만 사용자의 설치에서는 그렇지 않은 것 같습니다.

할 수 있게 하다에이전트 전달M1에서 M2로. 명령줄에서 OpenSSH를 사용하여 -A옵션을 전달합니다(예: ssh -A M2M1에서 실행). ForwardAgent에 지시어를 넣을 수도 있습니다 ~/.ssh/config. OSX에서 이를 수행하는 GUI 방법이 있을 수도 있습니다.

관련 정보