Bagaimana seseorang bisa mengirim perintah ke sesi "batin" ssh?


32

Bayangkan sebuah skenario di mana saya masuk ke server (yang kami sebut "Wallace") dari komputer lokal saya, dan dari sana saya sshmasuk ke server lain (yang kami sebut "Gromit"):

laptop ---ssh---> Wallace ---ssh---> Gromit

Kemudian sesi ssh dari Wallace ke Gromit hang, dan saya ingin membunuhnya. Jika saya masuk ~.untuk membunuh ssh, itu membunuh sesi ssh dari laptop saya ke Wallace, karena ~dicegat oleh sesi ssh itu, dan .diambil sebagai perintah untuk mematikan sesi. Bagaimana cara mengirim perintah ke sesi ssh antara Wallace dan Gromit? Bagaimana saya membunuh ssh "batin" saya?


FYI: Beberapa tata letak papan ketik mungkin perlu menekan tombol '~' dua kali untuk mencetak satu karakter '~'. Saya sering menggunakan layar sehingga ketika koneksi ssh terputus saya cukup memulai shell lain yang mematikan sesi ini.
matematika

Jawaban:


42

Tambahkan tilde lain (yaitu, ketik ~~.). Setiap tilde berturut-turut dimakan oleh sesi ssh terluar yang belum makan satu, tetapi jika karakter berikutnya adalah tilde lain, diteruskan ke sesi berikutnya di.

Jika, dari gromit 1 , Anda pindah ke host ketiga (sebut saja wensleydale), maka ~~~.akan membatalkan sesi ke wensleydale dan mengembalikan Anda ke prompt di gromit.

1 Dan betapa hebatnya server itu; seberapa sering saya mendengar komentar pengembang "cracking host, gromit"?



1
Oh, itu luar biasa; Aku tidak percaya aku belum pernah menemukannya sebelumnya.
MadHatter mendukung Monica

Akan lebih bagus jika ada beberapa cara untuk mendapatkan umpan balik visual seberapa jauh Anda berada, jika Anda punya laptop --> Wallace --> Gromit --> Shaun --> Timmyatau sesuatu yang gila seperti itu ...
iconoclast

-2

Anda bisa mengeluarkan perintah sewenang-wenang, dan menangkap output dari shell paling dalam ke dalam sebuah variabel

export output=`echo some_cmd | ssh user@host |  echo some_cmd2 | ssh user2@host2`

1
Ini sangat menarik, tapi saya tidak yakin bagaimana hubungannya dengan pertanyaan itu. Bisakah Anda jelaskan?
iconoclast
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.