Bagaimana saya bisa keluar dari sesi SSH yang terbuka dan jauh?


48

Saya sshed ke mesin Linux (bash shell) dari mesin Windows publik (di lab kami) dan lupa untuk logout. Saya sekarang kembali ke tempat duduk saya di ruangan lain dan saya terlalu malas untuk berjalan mundur dan keluar dari sesi itu; Saya dapat ssh ke mesin Linux dari PC saya saat ini. Bisakah saya memaksa-logout sesi lain dari sesi SSH baru?

Ketika saya ssh ke kotak Linux dari PC saya saat ini dan ketik usersperintah, saya dapat melihat bahwa saya masih login di sana; nama saya terdaftar dua kali - satu untuk sesi saat ini dan satu lagi untuk sesi dari PC lab.

Saya tidak memiliki hak akses root pada mesin tersebut, tapi saya kira itu tidak masalah karena saya hanya mencoba untuk logout sendiri.

Jawaban:


73

Jalankan ttypada sesi Anda saat ini, untuk mencari tahu di mana Anda bekerja, jadi Anda tidak keluar dari sesi saat ini. Jalankan w untuk menunjukkan kepada Anda pengguna saat ini dan terminal pseudo-terkait (tty). Dengan asumsi bahwa Anda login dua kali dan tidak ada pengguna lain di server ssh Anda, sesi ssh Anda sebelumnya akan aktif pts/0dan aktif saat ini pts/1. Untuk membuang sesi pada pts/0cukup matikan proses yang terkait dengannya

pkill -9 -t pts/0 

Untuk beberapa alasan, pkill -9 pts/tty-numbertidak berhasil untuk saya; kemudian saya menemukan pid dari proses menggunakan ps aux | grep amardan mencoba pkill -9 -P piddan itu berhasil. Terima kasih!
Amarghosh

7
pkill -9 -t pts/tty-number. -tadalah saklar untuk menentukantty
Sandi Kasual

Ooops, entah bagaimana saya melewatkan itu -tdalam jawaban Anda ketika saya membacanya pertama kali.
Amarghosh

+1, perbaikan yang luar biasa. Saya baru saja mereset router saya ketika saya sedang SSHing ke mesin di jaringan yang sama, dan kemudian menyadari itu meninggalkan sesi login ... Ini bekerja dengan sempurna.
Terobosan

6
Menemukan pertanyaan ini hari ini (dan itu bekerja dengan baik, jadi terima kasih!) Tetapi ternyata -9terdengar agak keras. Cukup sederhana -HUPbagi saya.
Matijs

4

Dengan asumsi Anda tidak memiliki proses lain yang tidak Anda inginkan, Anda bisa melakukan:

$ ssh <systemname> pkill -u <yourlogin>

Dan sesi lainnya akan hilang.


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.