SSH-Gateway kann nicht eingerichtet werden

SSH-Gateway kann nicht eingerichtet werden

Ich versuche, ein SSH-Gateway einzurichten. Ich habe einen physischen Host (H) und eine Reihe von VMs darauf. Der Host kann per SSH auf eine der VMs (A) zugreifen und von dort aus per SSH auf andere (nennen wir ihn B) zugreifen. Ich habe dies in .ssh/configH

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

Wenn ich ssh -vvv -l foo Bdas jetzt mache H, wird mir dieser Fehler angezeigt:ssh_exchange_identification: Connection closed by remote host

cat /var/log/auth.logzu A sagt:

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.allowauf einen

sshd: ALL
ssh: 0.0.0.0/0.0.0.0

Es scheint, als würde H sagen, dass A die Verbindung geschlossen hat, und A sagt, dass H die Verbindung geschlossen hat!

/etc/ssh/ssh_configAnH

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

Was kann hier noch schiefgehen?

Antwort1

Sie sollten sicherstellen, dass „Host B“ A nicht einschließt, wenn B ein Muster und kein einzelner Host ist. Ich musste A explizit aus dem Muster ausschließen.

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

Antwort2

Versuchen Sie die folgende Konfiguration im H-Host:

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

Bei mir funktioniert es. Fügen Sie bei Bedarf einfach den Benutzer foo hinzu:

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

Und stellen Sie sicher, dass der Benutzer foo auf A und B vorhanden ist.

verwandte Informationen