Tiba-tiba (baca: tanpa mengubah parameter apa pun) netbd virtualmachine saya mulai bertingkah aneh. Gejala-gejalanya menyangkut ssh tunneling.
Dari laptop saya, saya meluncurkan:
$ ssh -L 7000:localhost:7000 user@host -N -v
Kemudian, di shell lain:
$ irssi -c localhost -p 7000
Debug ssh mengatakan:
debug1: Connection to port 7000 forwarding to localhost port 7000 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 7000 for localhost port 7000, connect from 127.0.0.1 port 53954, nchannels 3
Saya mencoba juga dengan localhost: 80 untuk terhubung ke server web (jarak jauh), dengan hasil yang identik.
Host jarak jauh menjalankan NetBSD:
bash-4.2# uname -a
NetBSD host 5.1_STABLE NetBSD 5.1_STABLE (XEN3PAE_DOMU) #6: Fri Nov 4 16:56:31 MET 2011 root@youll-thank-me-later:/m/obj/m/src/sys/arch/i386/compile/XEN3PAE_DOMU i386
Saya agak tersesat. Saya mencoba menjalankan tcpdump
pada host jarak jauh, dan saya melihat 'chksum buruk' ini:
09:25:55.823849 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 67, bad cksum 0 (->3cb3)!) 127.0.0.1.54381 > 127.0.0.1.7000: P, cksum 0xfe37 (incorrect (-> 0xa801), 1622402406:1622402421(15) ack 1635127887 win 4096 <nop,nop,timestamp 5002727 5002603>
Saya mencoba me-restart daemon ssh tetapi tidak berhasil. Saya belum reboot - mungkin seseorang di sini dapat menyarankan diagnosa lain. Saya pikir itu mungkin driver kartu jaringan virtual, atau seseorang melakukan root ssh kami.
Ide ide..?
networking
ssh
connection
netbsd
lorenzog
sumber
sumber
$ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
. (Anda dapat menggunakan "-v" hingga 3 kali untuk meningkatkan verbositas.) Juga, mungkinkah ssh baru-baru ini diperbarui?ssh -L 7000... -N -v -v
(dua v) ataussh -L 7000... -N -v -v -v
.Jawaban:
Masalah terpecahkan:
... ternyata, ' localhost ' tidak disukai oleh host jarak jauh. Namun, remote
/etc/hosts
berisi:sedangkan antarmuka jaringan lokal adalah
Mendesah. begitu banyak untuk hadiah 100rp saya pakai :)
sumber
Meskipun masalah OP telah dipecahkan, saya memutuskan untuk berbagi solusi untuk masalah saya, karena saya mendapat pesan kesalahan yang sama dari ssh dan saya tidak menemukan solusi di situs lain.
Dalam kasus saya, saya harus terhubung ke layanan yang hanya mendengarkan pada IPv6. Saya mencoba:
dan beberapa cara lain tetapi tidak berhasil. Setiap percobaan koneksi ke
http://localhost:51005
menyebabkan kesalahan seperti ini:channel 2: open failed: connect failed: Connection refused
Solusinya adalah:
Alamat IPv6 harus dalam tanda kurung siku.
sumber
Saya pertama kali akan mencoba ini.
Anda dapat menggunakan "-v" hingga 3 kali untuk meningkatkan verbositas.
Saya pikir pesan kesalahan ini dapat muncul jika firewall memblokir port 7000, tetapi Anda sudah mengesampingkannya. (Jika pembaca nanti tidak mengesampingkan itu, lihat output dari
netstat --numeric-ports
.)Saya pikir saya mungkin telah melihat pesan kesalahan ini sejak lama, ketika ssh pertama kali mengetahui alamat IPV6 setelah pembaruan. Saya bisa salah tentang itu. Jika Anda merasa ingin bereksperimen, Anda dapat mencoba alamat loopback IPV6 "0: 0: 0: 0: 0: 0: 0: 0: 0: 1" (atau ":: 1").
sumber
"... rupanya, 'localhost' tidak disukai oleh host jarak jauh. Namun, remote / etc / hosts mengandung:"
Kecuali Anda menjalankan ssh pada klien, jadi 'localhost' tidak disukai oleh klien Anda. Remote / etc / hosts adalah untuk remote menghubungkan keluar tidak masuk koneksi.
sumber
Saya mengalami kesalahan yang sama saat mencoba terhubung ke mysql di server lain melalui terowongan ssh. Saya menemukan bahwa parameter bind-address di /etc/my.cnf pada server target terikat ke ip eksternal saya (server NIC ganda) daripada internal, yang tidak saya gunakan.
Ketika saya mengatur bind-address = 127.0.0.1, saya bisa berhasil menggunakan terowongan ssh saya sebagai berikut:
sumber
Saya mengalami kesalahan ini ketika saya meneruskan port dengan nama domain lengkap alih-alih localhost:
Port dibuka hanya untuk localhost, jadi untuk menerima koneksi dengan nama yang sepenuhnya memenuhi syarat, saya harus menambahkan deskripsi port yang mengikat :
yang akan memungkinkan koneksi dari mana saja (jadi itu tidak aman, gunakan hemat).
sumber
Bagi saya menambahkan memimpin ":" berfungsi sehingga perintah dalam kasus Anda akan terlihat seperti ini:
sumber
???
Tidak
user@host
ada yang mendengarkan port 7000, itu sederhana dan itu saja.sumber
Saya menerima pesan kesalahan yang sama:
Dan penyebabnya adalah kesalahan manusia - saya mencoba mengakses port yang berbeda pada host jarak jauh daripada yang saya tentukan.
Hanya berpikir saya akan membagikannya, meskipun ini mungkin bukan alasan mengapa sebagian besar dari Anda mengalami kesalahan ini.
sumber
Bagi saya, saya berusaha
ssh -L <port>:<remote server IP>:<port> <login>@<remote server IP>
ketika seharusnya saya lakukanssh -L <port>:127.0.0.1:<port> <login>@<remote server IP>
.Saya harap ini membantu seseorang!
sumber
Interpretasi alternatif, dalam kasus saya, Anda salah mengetik.
Apa yang terjadi di sini adalah alamat IP memiliki satu nol terlalu banyak, sehingga bukan alamat yang valid. Jadi ssh memperlakukannya sebagai nama domain yang tidak dapat diselesaikan. Ups!
PS: Saya melengkapi ini sehingga kami memiliki daftar lengkap masalah yang mungkin terjadi saat mengatasi gejala yang sama.
sumber