Passar minhas credenciais de uma sessão ssh para outra sessão ssh

6

Eu quero ssh de A para B, usando uma chave privada particular que eu tenho em A. Então eu quero ssh de B para C usando as mesmas credenciais que eu usei para ssh em B.

É possível "passar" as credenciais de uma sessão ssh para outra sessão ssh iniciada dentro da primeira sessão?

    
por Joaquin Cuenca Abela 27.04.2011 / 10:57

2 respostas

13

Sim.

O que você está procurando é conhecido como encaminhamento de ssh-agent . Quando você aprender a usar ssh-agent para carregar suas chaves desbloqueadas e disponibilizá-las para o ssh-client , é possível que os clientes passem esses dados pela cadeia de conexões para que futuros clientes ssh possam conversar com o agente original .

Entre outras coisas, você precisará configurar ForwardAgent yes em sua configurações ssh para as várias máquinas que devem ser permitidas estas privaleges. Você deve estar ciente de que isso introduz várias novas camadas de problemas de segurança. Você está brincando com fogo. Não diga que não te avisamos!

    
por 27.04.2011 / 11:01
1

Esta resposta é adicional a o que o Caleb escreveu . Você deve ter cuidado ao ativar o encaminhamento do SSH Agent para hosts não confiáveis. O que eu faço é listar hosts específicos no meu arquivo ~/.ssh/config desta forma:

ForwardX11 yes

Host trusted-server
    ForwardAgent yes
    Compression yes

Host trusted-desktop
    ForwardAgent yes
    ForwardX11Trusted yes

Isso habilita o encaminhamento do X11 para todos, mas o OpenSSH filtra os comandos SECURITY. A compactação é ativada no servidor, o Trusted X11 (sem filtragem) é habilitado para a área de trabalho e o Agente SSH é habilitado ao se conectar a qualquer um deles.

    
por 28.04.2011 / 12:53

Tags