SSH ForwardAgent vários saltos

13

Estou procurando uma solução para o problema a seguir nas últimas duas horas sem sorte.

Desenvolvimento:

Estou usando a autenticação de chave pública para me conectar aos meus servidores. Eu uso o encaminhamento do ssh-agent para não precisar gerenciar chaves públicas / privadas.

Digamos que eu tenha servidores A, B and C .

Isso funciona muito bem se eu me conectar a partir de LOCAL ---> A ---> B .

Também funciona muito bem se eu usar LOCAL ---> A ---> C .

Agora, se eu tentar o LOCAL ---> A ---> B ---> C , o SSH não poderá se conectar a partir de B to C .

Digno de nota: Eu me conecto ao servidor A como liquidez, enquanto eu me conecto ao servidor B como root. Conectar-se ao servidor B como liquidez resolve o problema, mas isso não é uma opção para mim.

De acordo com a recomendação de um usuário, uso ssh -A a cada vez para garantir que o encaminhamento de agentes esteja ativado.

Encontrei uma pergunta semelhante, sem resposta aqui: É possível encadear o encaminhamento de ssh-agent através de múltiplos saltos?

De acordo com @Zoredache aqui: link Eu só preciso ajustar minha configuração de cliente em cada sistema intermediário. O que eu acredito que fiz.

    
por liquidity 16.12.2013 / 05:11

1 resposta

12

Para fazer o encaminhamento de agentes funcionar através de vários saltos, você simplesmente precisa ajustar a configuração do cliente em cada sistema intermediário para que o agente seja encaminhado.

Poderia ser tão simples quanto garantir que seu /etc/ssh/ssh_config tenha configurado isso. Mas se você tiver configurações por cliente em ~/.ssh/config , talvez seja necessário ajustar essas configurações também.

Host *
    ForwardAgent yes

Você pode ver se o encaminhamento do agente aconteceu ou se houve um erro se você acabou de adicionar a opção -v .

$ ssh -v issc@server1
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /home/zoredache/.ssh/config
...
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
Linux server1 3.11-0.bpo.2-amd64 #1 SMP Debian 3.11.8-1~bpo70+1 (2013-11-21) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec 15 20:39:44 2013 from 10.2.4.243
issc@server1:~$

Verifique também se você tem um conjunto de variáveis de ambiente válido.

issc@server1:~$ export | grep SSH_AUTH
declare -x SSH_AUTH_SOCK="/tmp/ssh-7VejOmKtNv/agent.57943"
    
por 16.12.2013 / 05:55