Stop ssh tunnel (berhenti mendengarkan pada port tanpa proses pembunuhan)

2

Dalam sesi ssh, seseorang dapat mulai melakukan tunneling dengan penekanan tombol ~Cdan memasukkan (misalnya) -L80:localhost:80. Namun, apakah ada cara untuk menghentikan penerowongan di pelabuhan itu (singkatnya mematikan proses)?

Yang
sumber
Saya meragukannya, tetapi mematikan prosesnya sekecil ctrl-c.kecuali saya kira Anda menjalankannya di latar belakang, dan Anda kemudian dapat menjalankan ssh lagi tetapi tanpa -L80: localhost: 80 Saya kira jika Anda menambahkan -N maka itu menghentikan shell ssh dari muncul maka raison d'etre akan untuk -L dan jadi benar-benar tidak akan ada gunanya dalam opsi untuk berhenti mendengarkan, karena itu tidak akan memiliki fungsi lain. Saya pikir alasannya d Bagaimanapun juga itu ditetapkan dengan -L atau tanpa. Mungkin untuk dapat melakukan yang berbeda dengan itu akan memunculkan pertimbangan keamanan dan kompleksitas yang tidak perlu.
barlop
Intinya bukan bahwa saya tidak tahu cara membunuh prosesnya. Itu yang saya perlukan agar tetap berjalan, karena saya aktif menggunakan koneksi itu.
Yang
Saya hanya melihat dua kegunaan. a) shell b) tunneling. Jadi, Anda bisa membuat dua koneksi. Satu untuk shell (yang saya kira adalah yang Anda "aktif gunakan". Dan satu untuk tunneling -L (dengan -N untuk menentukan no shell). Kemudian Anda bisa mematikan koneksi tunneling, dan menjaga koneksi shell.
barlop
@barlop Ya, tentu saja jika Anda memiliki proses terpisah per terowongan, maka Anda bisa mendapatkan efek yang Anda inginkan dengan mematikan proses tersebut. Dan itulah yang secara efektif saya lakukan hari ini. Tetapi pertanyaan saya adalah apakah Anda dapat menghentikan tunneling dengan asumsi bahwa Anda tidak ingin mematikan prosesnya. Misalnya jika Anda secara tidak sengaja memulai terowongan pada proses yang sama. Secara efektif, apakah ada cara untuk membatalkannya?
Yang
Saya mengerti maksud Anda, saya tidak tahu cara (hanya solusi yang sudah Anda tahu / lakukan). Jika Anda tidak beruntung di sini, saya sarankan mencoba milis ssh, atau newsgroup comp.security.ssh, kedua sumber dukungan / keahlian tersebut adalah yang disebutkan / direkomendasikan dalam faq ssh, jadi agak resmi juga .. Saya telah melihat comp.security.ssh cukup efektif, saya belum melihat milis tetapi mungkin juga bagus.
barlop

Jawaban:

4

Kutipan dari ssh (1) manual:

 ~C      Open command line.  Currently this allows the addition of port
         forwardings using the -L, -R and -D options (see above).  It also
         allows the cancellation of existing port-forwardings with
         -KL[bind_address:]port for local, -KR[bind_address:]port for
         remote and -KD[bind_address:]port for dynamic port-forwardings.

Jadi, ~Cdiikuti dengan -KL80membatalkan penerusan port pada contoh Anda.

jjlin
sumber
brilian, itu bekerja (setidaknya dalam tes saya). ssh urutan melarikan diri, siapa tahu! Awalnya ketika saya mencobanya, saya pikir kunci tilda atau jari saya, tidak berfungsi. Seperti ketika satu jenis misalnya, ~? tilda sebagai karakter pelarian, diperlakukan sedemikian rupa sehingga tidak ditampilkan pada keran pertama (tetapi memang ada dan hanya boleh disadap satu kali). Aku juga bingung, mengetuk ~ sampai ~ muncul sekali, lalu mengetuk? Memukul ENTER dan gagal. Salin / tempel ~ ?, dan berhasil. dan tentu saja ~ C diikuti oleh -KL .. bekerja juga.
barlop