점프 호스트에서 SSH를 통해 git을 사용하기 위한 구성

점프 호스트에서 SSH를 통해 git을 사용하기 위한 구성

노트북(alice)에서만 사용할 수 있는 개인 키를 사용하여 서버(bob)에서 gitlab으로 인증하는 데 해당 키를 사용할 수 있는 방법이 있습니까? (제 생각에는 Alice와 Bob 사이의 점프 호스트로 인해 합병증이 발생하는 것 같습니다.)

앨리스 --> 점프 --> 밥 --> gitlab

현재 Alice의 ~/.ssh/config는 다음과 같습니다.

Host *
  PKCS11Provider /usr/lib/ssh-keychain.dylib

Host jump
  HostName jump01.example.org

Host bob
  HostName bob.example.org
  ProxyJump jump

gitlab에 있는 alice의 토큰에서 공개 키를 얻었고 이를 gitbob의 명령과 함께 사용하고 싶습니다. 에서처럼 ...

alice:~ $ ssh bob
Last login: Fri Aug 27 20:33:56 2021
bob:~ $ git clone [email protected]:my/repo.git

Bob에게는 키 쌍이 없습니다.

답변1

남용될 수 없는 신뢰가 있어야 bob하지만 간단한 대답은 ssh-agent를 실행하고 에이전트 전달을 사용하는 것입니다.

에서 에이전트를 시작하고 구성에서 에이전트 전달을 구성하여 alicePKCS11Provider를 추가합니다 .ssh-add -S

Host bob
  ForwardAgent yes
  HostName bob.example.org
  ProxyJump jump

PKCS11 공급자 및 에이전트 전달에 대한 자세한 내용은 ssh-agent, ssh-add 및 ssh_config에 대한 매뉴얼 페이지를 참조하십시오.

내 생각에 사소한 문제는 점프 호스트가 되는 것입니다.

ProxyJump의 작동 방식으로 인해 이는 복잡하지 않으며 문자 그대로 전혀 중요하지 않습니다. Alice의 SSH 클라이언트 관점에서 보면 이는 Bob에 직접 연결한 것과 똑같이 작동합니다.

관련 정보