encaminhamento de agente SSH, salto múltiplo

7

Eu testei essa configuração com a máquina de origem do Linux - tudo é o mesmo - somente o primeiro salto pode usar chaves da máquina de origem.

Problema inicial

Estou tentando configurar o encaminhamento de agentes SSH com vários saltos. Minha máquina local é Windows, com putty e pageant, todas as máquinas Linux são Debian 7.

O problema é que minhas chaves privadas, originárias do windows, funcionam apenas no primeiro salto. Chave privada adicionada em qualquer primeira máquina que funcione em qualquer lugar.

A máquina de primeiro salto é chamada de 'vpn1', segunda 'www1'. 'vpn1' está conectado à internet e à intranet (10.1.0.1). 'www1' está conectado apenas à intranet (10.1.0.10). 'vpn1' adiciona a chave ([email protected]) usando 'ssh-add', esta tecla mostra em pageant.

Depuração

Eu vejo todas as 3 chaves em ssh-add -L :

ssh-rsa [pubkey-1] [email protected] //This is github key originating from Windows
ssh-rsa [pubkey-2] [email protected] //This is SSH key originating from Windows
ssh-rsa [pubkey-3] [email protected] //This is SSH key originating from 'vpn1'

Quando tento ssh -v -T [email protected] de 'vpn1'

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: [email protected]
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).

Quando tento ssh -v -T [email protected] de 'www1'

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: [email protected]
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: [email protected]
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: [email protected]
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /home/enbyted/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/enbyted/.ssh/id_dsa
debug1: Trying private key: /home/enbyted/.ssh/id_ecdsa
debug1: Next authentication method: password

O mesmo acontece com o ssh para hosts que aceitam apenas a chave '[email protected]'. Mas eu posso SSH com quantos saltos eu quiser com '[email protected]'. Claro, o mesmo vale para os comandos do git.

Configurações

Meu ~/.ssh/config (o mesmo em todos os servidores):

Host 10.1.0.*
    ForwardAgent yes

Host *
    ForwardAgent no

Meu /etc/ssh/sshd_config (sem comentários, o mesmo em todos os servidores):

Port <custom-port>
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes

Perguntas

  • Então, por que isso?
  • O que estou fazendo de errado?

Também é muito estranho que no github 'www1' ofereça dois métodos auth - password e publickey ... Tenho certeza de que 'www1' SSHing para github.com está se conectando ao mesmo servidor que 'vpn1'. / p>

Atualização # 1: configuração de rede na imagem

Por favor, note que a imagem é do artigo , mas praticamente mostra a minha configuração.

Então, eu tenho 2 chaves no meu PC em casa e uma tecla no ruapehu (vpn1).

Quando eu SSH para ruapehu do PC em casa eu posso usar todas as três teclas muito bem. Mas quando eu faço outro ssh de ruapehu (vpn1) a aoraki (www1) eu posso usar apenas a chave do ruapehu.

E quando eu ssh de aoraki (www1) para qualquer hosts abaixo com qualquer quantidade de lúpulo, apenas a chave de ruapehu funciona.

Não funciona se o PC em casa for o Windows com o concurso Putty + ou o Linux com o ssh-agent.

    
por Enbyted 22.03.2014 / 18:41

1 resposta

1

Acho que o seu problema está na configuração do PuTTY. Esta configuração de encaminhamento precisa ser marcada assim:

Referências

  • Como usar o SSH Hop com o encaminhamento de chaves do Windows
por 22.03.2014 / 20:26

Tags