ssh-agent: não encaminhe a autenticação para todo o chaveiro

10

Eu tenho duas chaves ssh privadas:

  • um para acessar minhas máquinas pessoais ,
  • um para acessar servidores no meu trabalho .

Eu adiciono essas duas chaves ao meu ssh-agent com ssh-add.

Agora, quando o fizer ssh -A root@jobsrv, gostaria de encaminhar a autenticação do agente apenas para minha chave de trabalho (a que estou usando para conectar jobsrv).

Quero isso porque qualquer pessoa com acesso root jobsrvpode usar meu agente para se autenticar em minhas máquinas pessoais.

Existe uma maneira de alcançar esse isolamento?

Totor
fonte
você marcou a opção -i na página de manual do ssh?
Um ser humano
1
@Stillakid sim, ssh -A -i myjobkey_rsa root@jobsrvainda permite que a máquina jobsrv para acessar meu agente máquina local e autenticar no meu servidor personnal com a chave de outro (personnal) ...
Totor
também verificado ssh-keysign?
Um ser humano

Respostas:

2

Para forçar o ssh(1)uso de uma chave específica, mesmo que ssh-agent(1)ofereça várias, use a diretiva IdentityFilee IdentitiesOnlyem ~/.ssh/config, por exemplo:

Host example.com
    IdentityFile ~/.ssh/keys/special.pem
    IdentitiesOnly yes

Veja ssh_config(5)para detalhes.

mjhennig
fonte
Isso não funciona . IdentitiesOnlyaplica-se quando você tenta se conectar ao servidor remoto. Quando você estiver conectado, se o -Aencaminhamento de agente estiver ativado, todo o chaveiro será encaminhado.
Totor
O chaveiro não é encaminhado. É o pedido de autenticação que é encaminhado no .
bahamat
@ Bahamat Claro, meu erro. Ainda assim, esta solução não funciona.
Totor
2

Infelizmente, acredito que não é possível conseguir isso facilmente no momento presente . Pode-se usar dois agentes (um para cada chave) para que não haja nenhum agente segurando todas as chaves. Mas isso seria muito complicado de se trabalhar.

É por isso que um relatório de bug (aprimoramento) foi aberto. Também existe este relatório semelhante .

Totor
fonte