Bagaimana cara mengatur redirection port setelah koneksi ssh dibuka?

13

Saya menggunakan openssh pada klien dan server. Saya tahu saya dapat menjalankan ssh -Latau ssh -Rmengatur beberapa pengalihan port melalui ssh. Namun, karena mereka adalah parameter baris perintah, pengalihan seperti itu harus ditulis sebelum koneksi dibuka.

Bisakah saya mengatur pengalihan port on-the-fly menggunakan klien ssh command-line?

Ketika saya menggunakan PuTTYklien ssh, saya dapat secara interaktif mengatur redirection port saat koneksi sudah dibuka, tanpa menjatuhkan atau menghubungkan kembali, jadi saya tahu secara teknis dimungkinkan.

Denilson Sa Maia
sumber

Jawaban:

24

Jika Anda menggunakan baris perintah SSH, dan Anda belum mematikan fitur karakter escape , maka Anda dapat mengetik ~Csetelah baris baru untuk membuka konsol mini pada klien ssh. Kemudian ketik -L port:host:portatau -R port:host:portatau -D portseperti yang Anda lakukan pada baris perintah untuk menambahkan pengalihan, atau -KR portuntuk menghapus pengalihan.

Metode yang lebih fleksibel untuk mengatur pengalihan tanpa mengulang otentikasi adalah memulai klien ssh pertama sebagai master ( -Matau -o ControlMaster=auto) dan klien berikutnya sebagai budak ( -Satau -o ControlMaster=auto). Terowongan budak melalui koneksi yang dibuat oleh master. Anda mungkin perlu mengatur ControlPathdi baris perintah atau di ~/.ssh/config; lihat deskripsi opsi di ssh_confighalaman manual untuk informasi lebih lanjut.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Kalau-kalau ada yang mengalami ~C escape not available to multiplexex sessionsmasalah seperti yang saya lakukan tadi, jangan pergi berburu untuk koneksi master Anda. Sebagai gantinya, tambahkan saja -O forwardperintah penerusan port ssh Anda, seperti pada ssh -O forward -nfL 1234:whatever:1234 theserverdan itu akan bekerja.
Patrick