
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 git
comandos 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 bob
nã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 -S
e 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.