ssh tunnel error “ssh_exchange_identification: Koneksi ditutup oleh host jarak jauh”

10

Saya mencoba menggunakan terowongan ssh dari mesin kantor saya ke mesin rumah saya, dan mendapatkan kesalahan ketika saya mencoba menggunakannya.

Apa yang saya lakukan adalah memulai satu shell seperti ini:

ssh -gL 12345:my.home.domain:22 my.home.domain

Ini memberi saya shell yang tepat, tidak masalah. Apa yang biasanya saya lakukan adalah ssh ke mesin rumah saya melalui mesin kantor ini, seperti:

ssh -p 12345 127.0.0.1

Ini selalu berhasil bagi saya, sampai minggu lalu, ketika saya mengatur sistem baru di mesin rumah saya (beralih dari Ubuntu ke Debian). Sekarang saya mendapatkan kesalahan. Saya masih bisa membuka koneksi ssh awal saya, tetapi ketika saya mencoba menggunakan terowongan itu, saya mendapatkan (pada mesin kantor) kesalahan ini:

ssh_exchange_identification: Connection closed by remote host

Juga, ketika itu terjadi, shell terbuka yang saya set up tunneling membuat garis ini diludahkan:

channel 3: open failed: connect failed: Connection timed out

Pada titik itu, saya bingung. Jika ada lebih banyak info yang diperlukan, saya akan dengan senang hati mengirimkannya.

============= lebih lanjut untuk itu ==============

Setelah mengutak-atik lebih jauh, saya telah menemukan bahwa saya mendapatkan respons yang berbeda dari server (mesin rumah saya) ketika saya mencoba untuk telnet di berbagai port. Jika saya mencoba:

telnet my.home.domain 22

Saya mendapatkan ini kembali:

Trying <my ip address>...
Connected to <my domain>.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2

Itulah yang saya harapkan. Setelah mengatur terowongan, dan kemudian melakukan telnet, saya melihat respons ini:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

============== dan selanjutnya =================

Sesuai saran kbulgrien , berikut adalah output dari mesin klien dengan opsi -v:

ssh -vp 24600 127.0.0.1
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Membaca data konfigurasi / etc / ssh / ssh_config
debug1: / etc / ssh / ssh_config baris 19: Menerapkan opsi untuk *
debug1: Menghubungkan ke 127.0.0.1 [127.0.0.1] port 24600.
debug1: Koneksi berhasil dibuat.
debug1: file identitas /home/jacob/.ssh/id_rsa tipe -1
debug1: file identitas /home/jacob/.ssh/id_rsa-cert tipe -1
debug1: file identitas /home/jacob/.ssh/id_dsa tipe -1
debug1: file identitas /home/jacob/.ssh/id_dsa-cert tipe -1
debug1: file identitas /home/jacob/.ssh/id_ecdsa tipe -1
debug1: file identitas /home/jacob/.ssh/id_ecdsa-cert tipe -1
ssh_exchange_identification: Koneksi ditutup oleh host jarak jauh

Yakub Ewing
sumber
Salah satu penyebab ssh_exchange_identification: Connection closed by remote hostkesalahan terkait dengan host penghubung yang terdaftar di Internet /etc/hosts.deny.
Zoredache
Hm - jika saya cat /ets/hosts.deny pada mesin itu, setiap baris diucapkan
Jacob Ewing
Bolehkah saya menyarankan menambah -vperintah ssh yang gagal? Apakah keluaran berikutnya memberikan indikasi kegagalan lainnya (yaitu channel 1: open failed: administratively prohibited: open failed).
kbulgrien
2
Maaf, hanya terlintas dalam benak saya bahwa sangat membantu untuk memiliki -vbaik pada tunnel dan gagal perintah ssh (mencari sesuatu yang lebih dari channel 3: open failed: connect failed: Connection timed out). Mungkin perlu dicatat bahwa seseorang dapat menambahkan banyak -v(hingga tiga) untuk meningkatkan verbositas. Saya tidak perlu memposting seluruh spew, tetapi mungkin perlu membaca dengan teliti untuk kata-kata yang menunjukkan masalah.
kbulgrien

Jawaban:

1

Mungkin jika Anda memiliki lebih dari 10 sesi ssh menunggu untuk memasukkan kata sandi, Anda memiliki kesalahan semacam itu, saya ingat itu adalah bug ssh baru, jika Anda akan memverifikasi ini, gunakan perintah di bawah ini

for i in {1..15};do ssh -fNt [email protected] & >/dev/null ;done
c4f4t0r
sumber
0

Sesuatu seperti ini terjadi pada pemasangan baru-baru ini. Dalam situasi ini /etc/hosts.deny ada dan tidak memiliki pengaturan yang secara eksplisit menolak akses, sehingga situasinya tampak serupa. Itu perlu untuk mengubah /etc/hosts.allow untuk menambahkan sesuatu seperti:

sshd: 192.168.127.0/255.255.255.128

Detail IP perlu disesuaikan dengan kebutuhan Anda, atau diganti dengan ALLjika tidak ada masalah dengan mengizinkan ssh dari mana-mana.

Setelah melakukan perubahan, hentikan dan mulai kembali sshd.

Jawaban terangkat untuk pertanyaan berikut memberikan lebih banyak contoh.

SSH hosts.deny dan hosts.allow

Berikut adalah kesaksian orang lain yang menghubungkan pesan kesalahan dengan solusinya.

Cara Mengatasi: ssh_exchange_identification: Koneksi ditutup oleh masalah host jarak jauh saat masuk dengan SSH

kbulgrien
sumber
Hmm - sayangnya itu tidak memperbaikinya untuk saya. Saya pikir situasi saya berbeda dari yang ada dalam contoh. Saya dapat ssh in pada port 22 tanpa kesulitan. Hanya ketika saya mencoba melakukan tunnel melalui port lain saya mendapatkan kesalahan yang disebutkan.
Jacob Ewing
Memang terowongan itu merupakan perbedaan yang khas. Mengingat itu, apakah ini membantu: discussion.dreamhost.com/thread-97951.html ? Saya juga menemukan referensi untuk indikasi bahwa menghapus dan menginstal kembali paket sshd pada sistem seperti debian memperbaiki masalah dengan kunci yang menyebabkan perilaku yang Anda jelaskan ( diskusi.dreamhost.com/thread-97951.html et. Al.) .
kbulgrien
Anda memiliki sshd (openssh-server) yang diinstal pada kedua sistem, kan?
kbulgrien
Yupyup. Saya sudah melakukan ini cukup lama, dan hanya mengalami masalah minggu lalu setelah beralih ke Debian di mesin rumah saya (server). Saya akan mencoba saran Anda un / instal ulang sshd ketika saya pulang malam ini.
Jacob Ewing
0

Saya memiliki masalah yang sama dan pada akhirnya menyelesaikan masalah dengan memperbaiki /etc/network/interfaces:

auto eth0
iface eth0 inet static

atau

auto eth0
iface eth0 inet dhcp

tanpa konfigurasi itu saya tidak pernah mendapatkan koneksi terbalik ke terowongan ssh saya.

dr4ck0
sumber
0

Dalam kasus saya, saya harus memasukkan ke /etc/ssh/sshd_configmesin gateway baris berikut:

Match User <username>
   GatewayPorts yes

Lihat lebih detail di sini

Semoga ini membantu!

floatingpurr
sumber