Saya mencoba mengatur gateway ssh. Saya memiliki host fisik (H) dan sejumlah VM di atasnya. Tuan rumah dapat ssh ke salah satu VM (A) dan kemudian ssh ke orang lain darinya (sebut saja B). Saya memiliki ini di .ssh/config
dalam H
Host B
User foo
ProxyCommand ssh foo@A nc %h %p
Sekarang ketika saya lakukan ssh -vvv -l foo B
pada H
saya melihat kesalahan ini:ssh_exchange_identification: Connection closed by remote host
cat /var/log/auth.log
pada kata A:
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
pada suatu
sshd: ALL
ssh: 0.0.0.0/0.0.0.0
Tampaknya H mengatakan bahwa A menutup koneksi dan A mengatakan bahwa H menutup koneksi!
/etc/ssh/ssh_config
di H
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Apa lagi yang salah di sini?
Jawaban:
Anda mungkin ingin memastikan 'Host B' tidak boleh menyertakan A, jika B adalah sebuah pola daripada satu host. Saya harus mengeluarkan A dari pola secara eksplisit.
sumber
Coba konfigurasi berikut di host H:
Ini bekerja untuk saya. Tambahkan saja foo pengguna jika Anda perlu:
Dan pastikan foo pengguna ada di A dan B.
sumber