Saya dulu ssh -L 10002:192.168.0.30:10002 192.168.1.135
membangun port forwarding tetapi sekarang saya harus menghapusnya.
Bagaimana saya melakukan ini?
ssh
port-forwarding
pengguna16654
sumber
sumber
Warning: remote port forwarding failed for listen port
pesan.Jawaban:
Jika Anda menggunakan Linux, Anda dapat mematikan proses dengan:
dan kemudian gunakan
Untuk membunuh prosesnya.
Jika perintah kill tidak berhasil, Anda dapat mencoba
sumber
kill -9
sampai setelah Anda sudah mencoba hanyakill
. Banyak proses akan memiliki penangan sinyal yang akan membersihkan penggunaan sumber daya mereka, dengan bersih menutup koneksi dan tugas pra-shutdown lainnya. Jika Anda membunuh dengan -9, proses mati segera tanpa melakukan pembersihan. Membunuh tanpa -9 akan berhasil sebagian besar waktu.kill -9
tanpa alasan seperti menggunakan senapan untuk membunuh nyamuk. :)pgrep ssh | xargs kill
. Jangan gunakan-9
apa-apassh
perintah, atau bahwa semuassh
perintah yang Anda jalankan baik-baik saja untuk dimatikan. Ini bukan asumsi umum yang bagus.ssh
instance di beberapa server jarak jauh sepanjang waktu, beberapa di antaranya tanpa keterlibatan aktif langsung saya. Sebagai contoh, mode Emacs Tramp membukassh
koneksi di belakang layar ketika saya mengunjungi buffer jarak jauh. Beberapa orang menggunakan filesystem userspace yang melakukan hal serupa. Sama sekali tidak jarang. Bahkan, saya akan menganggap pengguna tunggal, satussh
contoh menjadi kasus penggunaan pinggiran minoritas. Jika itu bekerja untuk Anda, bagus untuk Anda, tetapi itu bukan saran umum yang baik.Saat menggunakan ssh multiplexing, mematikan proses ssh seringkali tidak diinginkan (ini membunuh semua koneksi terbuka dengan host itu), dan Anda tidak dapat dengan mudah mengakses escape karena "escape tidak tersedia untuk sesi multiplexed". Cara yang benar adalah dengan menjalankan analog dari perintah penerusan yang ingin Anda batalkan, tetapi menambahkan
-O cancel
. Misalnya:Ini akan menonaktifkan penerusan port ini tanpa mengakhiri sesi. Sekali lagi, ini hanya akan berfungsi jika ssh multiplexing digunakan untuk koneksi ke 192.168.1.135 .
sumber
ssh -O exit 192.168.1.135
.Cara membatalkan port yang diteruskan dalam sesi SSH yang sudah berjalan:
-KL port
Anda harus melihat ini:
sumber
Anda bisa menggunakan "escape-key" (biasanya ~) diikuti oleh C untuk mendapatkan cli ke koneksi Anda. Dari sana Anda dapat menghapus terowongan tanpa menurunkan koneksi Anda.
sumber
Anda dapat memasuki konsol interaktif dengan mengetik ~C( huruf besar "C"). Ini memungkinkan Anda secara dinamis menambah dan menghapus penerusan port (di antara beberapa hal lainnya).
Urutan ini harus datang tepat setelah carriage return / newline. Jadi ragu, ketikkan saja Enter~C(secara berurutan).
Jika Anda tidak melihat karakter muncul di konsol, Anda melakukannya dengan benar :)
Anda sekarang akan melihat
ssh>
prompt.Untuk menghapus port, cukup masukkan
-KL 10002
diikuti oleh Enter(di mana10002
port diteruskan Anda).Kebalikannya - menambahkan penyerang baru - dapat dilakukan seperti ini (dari awal hingga selesai):
Enter~C
Enter
sumber
~C escape not available to multiplexed sessions
. Jika itu masalahnya, lihat jawaban luar biasa a3nm.