No se puede configurar la puerta de enlace ssh

2

Estoy tratando de configurar una puerta de enlace ssh. Tengo un host físico (H) y varias máquinas virtuales. El host puede enviar ssh a una de las máquinas virtuales (A) y luego enviar ssh a otros desde ella (vamos a llamarlo B). Tengo esto .ssh/configen H

Host B
  User foo
  ProxyCommand ssh foo@A nc %h %p

Ahora cuando lo haga ssh -vvv -l foo Ben el Hque veo este error:ssh_exchange_identification: Connection closed by remote host

cat /var/log/auth.log en A dice:

Jun  7 18:54:00 ubuntu sshd[846]: Received disconnect from 192.168.129.1: 11: disconnected by user
Jun  7 18:54:00 ubuntu sshd[834]: pam_unix(sshd:session): session closed for user foo
Jun  7 18:54:11 ubuntu sudo: foo : TTY=pts/6 ; PWD=/home/foo ; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log
Jun  7 18:54:11 ubuntu sudo: pam_unix(sudo:session): session opened for user root by foo(uid=30000)

/etc/hosts.allow en un

sshd: ALL
ssh: 0.0.0.0/0.0.0.0

¡Parece que H dice que A cerró la conexión y A dice que H cerró la conexión!

/etc/ssh/ssh_config en H

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

¿Qué más puede salir mal aquí?

Abhishek Chanda
fuente
¿Estás usando claves ssh? Tu clave podría estar equivocada. También iptables.
MattPark
Las claves ssh no están mal probablemente. Puedo iniciar sesión con las mismas claves iniciando sesión primero en A. iptables en todos los cuadros están vacíos.
Abhishek Chanda

Respuestas:

1

Es posible que desee asegurarse de que 'Host B' no debe incluir A, si B es un patrón en lugar de un solo host. Tuve que excluir A del patrón explícitamente.

Host *.example.com !gateway.example.com
  ProxyCommand ssh -q -W %h:%p [email protected]
Parque Handol
fuente
0

Pruebe la siguiente configuración en el host H:

Host B
    ProxyCommand ssh -q -W %h:%p A

Me esta funcionando. Simplemente agregue el usuario foo si necesita:

Host B
    User foo
    ProxyCommand ssh -q -W %h:%p foo@A

Y asegúrese de que el usuario foo exista en A y B.

septiembre
fuente
Intenté esto y obtuve el mismo error. El usuario foo existe en todos los cuadros, puedo iniciar sesión en B desde A con las mismas credenciales.
Abhishek Chanda
¿Qué pasa con el contenido / etc / ssh / sshd_config en todos los hosts? Contraseña ¿Parámetros de autenticación? etc ...
septiembre
Nada de lo que noté. Se actualizó la pregunta con su contenido.
Abhishek Chanda