Dengan .ssh/config
konfigurasi berikut :
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
Bagaimana cara menutup koneksi yang ada sebelum 4 jam?
Saya tahu Anda dapat membuat koneksi baru, tetapi bagaimana cara menutupnya (semua)?
Mungkin ada cara untuk menunjukkan semua koneksi yang ada dan menanganinya secara individual tetapi saya tidak dapat menemukannya.
ssh
connection-sharing
Paolo
sumber
sumber
ssh -S none
(mungkin ini sudah membantu Anda).Jawaban:
Dari manual :
Versi yang lebih lama hanya memiliki
check
danexit
, tetapi itu cukup untuk tujuan Anda.Jika Anda ingin menghapus semua koneksi (bukan hanya koneksi ke host tertentu) dalam satu gerakan, maka
fuser /tmp/ssh_mux_*
ataulsof /tmp/ssh_mux_*
akan daftar klien ssh yang mengendalikan setiap soket. Gunakanfuser -HUP -k tmp/ssh_mux_*
untuk membunuh mereka semua dengan bersih (menggunakan SIGHUP sebagai sinyalnya terbaik karena memungkinkan klien melepas soketnya dengan benar).sumber
check
bahkan lebih berguna daripada apa yang saya cari, yangexit
memang penting! : Dfuser
tidak dapat mengirim sinyal, tetapi ini berfungsi dengan baik:lsof -Fp /tmp/ssh_mux_* | cut -c 2- | xargs kill -HUP
Saya menulis sebuah utilitas open source
cmc
,, untuk mengelola sesi ControlMaster: ClockworkNet / cmc :sumber
Anda dapat menjalankan
fuser /tmp/ssh_mux_blablabla
(mungkin perlusudo
) dan membunuh PID yang dikembalikan.fuser
menunjukkan proses mana yang menggunakan file. (Dan banyak lagi, lihatman fuser
.)Pembaruan: periksa jawaban Gilles; itu jauh lebih rinci.
sumber
Ini berfungsi untuk saya hanya menggunakan file socket untuk master kontrol:
Contoh
Berikut adalah contoh di mana saya telah membuat koneksi ke server jauh:
Dan dengan itu terputus:
Jika masih terhubung, ini akan memaksanya untuk segera keluar:
Tidak jelas bagi saya, tetapi tampaknya berpotensi menjadi bug
ssh
karena membutuhkan argumen tambahan pada akhirnya, meskipunblah
tidak ada artinya dalam konteks switch yang saya gunakan.Tanpa itu memberi saya ini:
Informasi versi
OSX CentOS 7.xSaya mengkonfirmasi bahwa pada kedua versi ini, kebutuhan akan argumen palsu tambahan diperlukan.
Referensi
sumber