configuração para usar git via ssh no jump host

configuração para usar git via ssh no jump host

Com uma chave privada que está disponível apenas em um laptop (Alice), existe uma maneira de usar essa chave para autenticação com o gitlab a partir de um servidor (bob). (Uma complicação menor, eu acho, ser um anfitrião de salto entre Alice e Bob.)

Alice -> pular -> bob -> gitlab

O ~/.ssh/config em Alice está atualmente:

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

Host jump
  HostName jump01.example.org

Host bob
  HostName bob.example.org
  ProxyJump jump

Eu tenho a chave pública do token de Alice no gitlab e gostaria de usá-la com gitcomandos de bob. Como em...

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

onde não tenho nenhum par de chaves em Bob.

Responder1

Você precisa ter alguma confiança que bobnão possa ser abusada, mas a resposta simples é executar um agente ssh e usar o encaminhamento de agente.

Inicie um agente em alice, adicione seu PKCS11Provider usando ssh-add -Se configurando o encaminhamento de agente em sua configuração.

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

Consulte as páginas man de ssh-agent, ssh-add e ssh_config para obter detalhes sobre os provedores PKCS11 e encaminhamento de agente.

Menor, eu acho, complicação sendo um anfitrião de salto

Devido à forma como o ProxyJump funciona, não é uma complicação e literalmente não importa. Da perspectiva do cliente ssh em Alice, ele age exatamente como se você tivesse feito uma conexão direta com Bob.

informação relacionada