Saya baru tahu tentang fitur ControlMaster / ControlPath dari OpenSSH, yang memungkinkan Anda menggunakan koneksi SSH tunggal untuk menjalankan beberapa terminal.
Karena saya sering menggunakan SSH untuk menggunakan penerusan port untuk mendapatkan sesi VNC terenkripsi dan terotentikasi, saya langsung mengenali bahwa Anda tidak dapat menambahkan penerusan port ke server jauh yang sudah Anda miliki koneksi mapan. Ini menyebalkan.
Kadang-kadang nanti saya menemukan bahwa Anda dapat menghindari batasan ini dengan mengetikkan ~ C dalam sesi terminal SSH yang sedang berjalan. Ini membuka baris perintah yang memungkinkan Anda untuk menambah atau menghapus penerusan porta.
Pertanyaan saya sekarang adalah: Bagaimana saya bisa menambahkan penerusan porta pada sesi SSH yang ada yang menggunakan fitur ControlMaster / ControlPath, tanpa perlu memiliki akses ke sesi terminal di dalam sesi SSH itu. Saya perlu ini untuk mengaktifkan skrip saya yang memulai koneksi VNC terowongan aman bagi saya untuk menambahkan dan kemudian menghapus penerusan port-nya.
(Saya tahu saya bisa menggunakan terminal multiplexer seperti GNU Screen atau tmux, sebenarnya saya sudah melakukan ini. Tapi saya suka ide menggunakan hanya satu sesi SSH untuk alasan serveral.)
Jawaban:
Sebenarnya itu cukup sederhana. Cukup tambahkan ctl_cmd
-O forward
ke perintah yang ada, dengan demikian:menjadi:
The
ssh
halaman manual membahas-O ctl_cmd
opsi:Ini, tentu saja, mengasumsikan Anda telah mengaktifkan file
ControlMaster yes
Anda~/ssh/config
atau-M
pada baris perintah.sumber