No se puede configurar la puerta de enlace ssh

No se puede configurar la puerta de enlace ssh

Estoy intentando 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 otras desde ella (llamémoslo B). Tengo esto en .ssh/configH

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

ssh -vvv -l foo BAhora cuando lo hago Hveo este error:ssh_exchange_identification: Connection closed by remote host

cat /var/log/auth.logen 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.allowen un

sshd: ALL
ssh: 0.0.0.0/0.0.0.0

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

/etc/ssh/ssh_configenH

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

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

Respuesta1

Es posible que desee asegurarse de que el 'Host B' no incluya 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]

Respuesta2

Pruebe la siguiente configuración en el host H:

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

Está funcionando para mí. 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.

información relacionada