Configuração extra necessária para o encaminhamento do ssh-agent?

21

Este guia faz um ótimo trabalho explicando como o ssh-agent funciona em vários sistemas. Gostaria de obter o encaminhamento configurado no último conjunto de diagramas, mas estou tendo problemas para rastrear as etapas necessárias para isso.

Em algumas máquinas da minha rede, posso ssh de A a B e depois de B a C, sem nunca precisar digitar uma senha de certificado. Outras máquinas, no entanto, exibem "Não foi possível abrir uma conexão com seu agente de autenticação" (às vezes!) E não encaminham minhas informações de autenticação. SSHing de uma dessas máquinas para outra caixa na rede solicita minha senha de chave privada novamente.

Não construí essas máquinas, mas posso administrar algumas delas. Não sei ao certo qual é a diferença entre o boxen que funciona e os que não funcionam - poderia ser um problema de firewall, configuração do ssh / ssh-agent / sshd, qualquer coisa e não vejo nenhum passo. guias passo a passo específicos para encaminhamento flutuando pela rede. Eu só preciso saber por onde começar a perseguir esse problema.

Coderer
fonte

Respostas:

23

O encaminhamento de agente ssh deve ser permitido no cliente ( ForwardAgentopção in ~/.ssh/config) e no servidor ( AllowAgentForwardingopção in sshd_config). As chances são de que suas máquinas tenham configurações padrão diferentes para uma ou ambas as opções.

Se você estiver indo para A-> B-> C, o encaminhamento não é necessário na etapa B-> C (a menos que você vá para C-> D, é claro).

Quando você estiver conectado ao B, verifique se a variável de ambiente SSH_AUTH_SOCKestá definida. Seu valor é como sshsabe como entrar em contato com o agente.

Não há uma boa razão para proibir o encaminhamento de agentes no servidor, já que o encaminhamento de agentes torna o cliente vulnerável ao servidor e não o contrário, e você pode, em princípio, configurar o encaminhamento de agentes manualmente (embora não haja muito sentido desde a dificuldade de configurá-lo anularia a conveniência do encaminhamento de agentes).

Gilles 'SO- parar de ser mau'
fonte
A boa notícia: obrigado por me indicar a chave certa a procurar! As más notícias: Aparentemente, este é um bug conhecido no openssh-server. Parece ter sido corrigido, em algum momento, mas acho que não estou executando uma versão suficientemente atual - recebo "Opção de configuração incorreta: AllowAgentForwarding" quando tento habilitá-lo. Parece que ele está fora para atualizar meu loadout software (de novo ...)
Coderer
11
@ Codificador: Como o encaminhamento do agente é padrão, deve ser o suficiente para remover qualquer AllowAgentForwardinglinha sshd_config.
Gilles 'SO- stop be evil'
@Gilles Se alguém quisesse configurar manualmente o encaminhamento de agentes para uma sessão existente, como eles iriam fazer isso? Essa é uma necessidade real com scripts de provisionamento usados ​​com máquinas efêmeras, como AMIs que vêm com AllowAgentForwardingdesativado.
Andrew De Andrade
@AndrewDeAndrade Para uma sessão existente, você tem seu trabalho cortado. Se você quis dizer configurar o encaminhamento do agente, mesmo que esteja desabilitado no servidor, é necessário encaminhar um soquete unix pelo TCP; isso deve ser possível com netcat ou socat de ambos os lados.
Gilles 'SO- stop be evil'
@ Gilles Essa é a conclusão que eu vim também. Descobri que você também pode usar spiped, o que é mais seguro, mas requer troca de chaves simétrica, mas é mais simples depois disso.
Andrew De Andrade
14

Embora você já tenha a resposta certa do @Gilles acima, gostaria de ressaltar que isso AllowAgentForwardingé suportado apenas no OpenSSH 5.1 em diante.

Os servidores OpenSSH anteriores à 5.1, pelo que vi na minha caixa RHEL 4u5, permitem o encaminhamento de agentes por padrão. Portanto, se o servidor tiver mais de 5.1 e o encaminhamento do agente não estiver funcionando, o problema provavelmente ocorrerá no cliente ssh. Como o encaminhamento parece estar funcionando para algumas máquinas, parece que /etc/ssh/ssh_configestá bem configurado. Verifique ~/.ssh/configse há alguma exceção para desativar o encaminhamento do agente para as caixas afetadas.

Ref: http://www.openssh.org/txt/release-5.1

Sandip Bhattacharya
fonte
oi Sandip, você tem alguma idéia sobre isso? superuser.com/questions/958978/…
Niks