Saya sering ssh ke kotak saya di rumah dari sekolah, tetapi biasanya ketika saya mengubah kelas dan komputer saya ditangguhkan, pipa akan rusak. Namun, ssh hanya mengunci - Ctrl+ c, Ctrl+ zdan Ctrl+ dtidak berpengaruh.
Menjengkelkan karena harus me-restart terminal saya, dan bahkan lebih menjengkelkan harus menutup dan membuat kembali jendela layar baru.
Jadi pertanyaan saya, apakah ada cara mudah untuk membuat ssh mati dengan benar (yaitu ketika pipa gagal "normal" itu akan keluar dengan pesan tentang pipa yang rusak)? Atau apakah saya harus mencari tahu apa PID itu dan membunuhnya secara manual?
screen -x
: PJawaban:
Kunci normal diteruskan selama
ssh
sesi, sehingga tidak ada yang berfungsi. Sebagai gantinya, gunakan urutan pelarian. Untuk membunuh sesi saat hit selanjutnya Enter ↵, ~, ..Lebih dari escape sequence ini dapat terdaftar dengan Enter ↵, ~, ?:
Anda dapat menutup daftar urutan Escape dengan menekan enter.
Perhatikan bahwa karena menekan ~~penyebab
ssh
mengirim~
alih - alih mencegatnya, Anda dapat mengatasi koneksi N bersarangssh
dengan menekan ~ N kali. (Ini hanya berlaku untuk ~s yang langsung mengikuti enter.) Artinya, enter~~~~~.mengakhirissh
sesi 5 lapisan dalam dan menjaga 4 lainnya tetap utuh.sumber
~
adalah kunci mati , urutan kunciEnter
~
Space
.
.EscapeChar ~
di/etc/ssh/ssh_config
(atau~/.ssh/ssh_config
jika Anda suka).Enter
~
~
.
Sejak~
~
mengirim literal~
melalui sesi SSH Anda, sesi SSH kedua akan menerimanya sebagai tilde tunggal dan akan menafsirkannya.
sebagai bagian dari pelarian. Untuk mengirim ke sesi ssh bersarang ke-5, cukup gunakan 5 tilde dalam urutan pelarian Anda.Anda juga mungkin ingin aplikasi-tingkat pengaturan terus-alives untuk SSH untuk mencegah dari pembekuan pada masalah koneksi. Saya
~/.ssh/config
mengandung ini:Ini membuat ssh client mengirim tingkat aplikasi tetap hidup setiap 15 detik. Setiap kali mereka bertiga gagal secara berurutan (default
ServerAliveCountMax
), klien menganggap koneksi sebagai hang dan menutupnya.Menentang opsi lain
TCPKeepAlive
, ini diperiksa di dalam saluran terenkripsi dan tidak palsu.Perlu dicatat bahwa para keep-alive itu juga membantu, uhm, menjaga koneksi yang lama tidak bekerja , yaitu mencegah Anda dari sesi tcp setengah tertutup yang menggantung selama berjam-jam tanpa disentuh.
Saya sangat merekomendasikan untuk mengaktifkan fitur ini jika Anda mengalami ini secara teratur, tetapi Anda juga harus tahu tentang sedikit risiko keamanan yang mungkin ditimbulkan. Serangan dikenal-plaintext mungkin menjadi lebih mudah jika penyerang tahu interval dan isi koneksi siaga. Ini mungkin alasan mengapa tidak diaktifkan secara default.
sumber
%)
ServerAliveInterval
ke 1 sehingga koneksi yang hilang segera terdeteksi?Host
garis. Juga, "sandi modern seperti Advanced Encryption Standard saat ini tidak rentan terhadap serangan plaintext yang dikenal." (dari tautan yang Anda tambahkan) ...Seperti dicatat dalam jawaban geekosaur, urutan pelarian
~.
akan mengakhiri koneksi.Daftar lengkap urutan pelarian dan apa yang dilakukan dapat ditampilkan dengan mengetik
~?
:sumber