Dapatkah saya terhubung atau melihat sesi ssh yang ditinggalkan?


14

Saya memiliki instance virtual redhat running yang saya dapat sshdari host mana saja di jaringan perusahaan. sshSesi saya dibatalkan saat menjalankan beberapa skrip yang mungkin atau tidak membuat saya terputus. The whoperintah lokal masih daftar koneksi turun. Menghubungkan kembali dengan sshmemulai sesi baru. Apakah ada cara untuk terhubung ke sesi asli? Jika tidak, bisakah saya membunuhnya? Saya memiliki akses root dan fisik. Saya tidak menggunakan layar di sesi asli.

Jawaban:


11

Anda ingin menggunakan layar pada remote dan kemudian ketika Anda ssh kembali Anda menghubungkan kembali ke contoh layar.

tetapi tidak, Anda tidak dapat menyambung kembali ke sesi ssh di dalam dan dari dirinya sendiri, Anda harus menggunakan layar (atau sesuatu yang lain seperti itu untuk memfasilitasi itu).

Lihatlah pertanyaan ini untuk setidaknya satu opsi lain dan beberapa perbedaan antara itu (tmux) dan layar. setelah membaca jawaban untuk pertanyaan itu ... Saya sebenarnya akan mengatakan tmux lebih baik

oh dan ya Anda bisa killproses (termasuk bash bercabang) untuk menghentikannya, Anda mungkin mencoba skilluntuk membunuh pengguna dengan nama, tetapi saya curiga jika pengguna itu root ... mungkin mencoba membunuh hal-hal yang tidak bisa.

jawabannya telah diperbarui beberapa kali


4

Secara default Anda tidak dapat menghubungkan kembali ke sesi ssh yang ditinggalkan. Namun, Anda dapat mengatur proses di dalam sesi ssh, yang dapat Anda sambungkan kembali setelah membangun kembali sesi ssh baru.

Yang ingin Anda gunakan adalah layar atau lebih baik pembungkus ramah pengguna di sekitar layar yang disebut byobu.

Layar memungkinkan Anda untuk menjalankan beberapa sesi terminal virtual dalam sesi ssh yang sama. Halaman tutorial dan bantuan tersedia.

byobu adalah pembungkus yang memungkinkan untuk dengan mudah membuka layar baru dengan tombol fungsi sederhana alih-alih kombinasi tombol dari ctrl-a. Ini juga menunjukkan garis status dengan semua terminal virtual terbuka yang dapat dinamai.

Fitur bagus lainnya adalah kenyataan bahwa semua layar Anda dapat tetap aktif saat koneksi ssh Anda terputus. Anda hanya terhubung lagi melalui ssh dan memanggil byobu dan semuanya seperti sebelumnya.

Akhirnya beberapa tangkapan layar byobu.


3

Seperti yang disebutkan, layar mungkin adalah taruhan terbaik Anda. Jika / ketika sesi Anda dibatalkan, itu akan terus berjalan. Ketik 'daftar-layar' untuk melihat sesi yang tersedia, dan 'layar -r' dengan sesi yang Anda inginkan. Sedikit tip, Anda bisa melengkapi string sesi daripada menyalin / menempel semuanya.

Namun, layar bisa mengganggu. Di klien saya, Anda tidak dapat dengan mudah menggulir ke atas untuk melihat riwayat di konsol. Kerjanya sedikit berbeda dari yang Anda harapkan. Jika yang ingin Anda lakukan adalah memastikan prok yang sudah berjalan lama tidak terbunuh, gunakan 'nohup'. Ini akan mencegah proc Anda dimatikan saat Anda kehilangan koneksi. Pastikan Anda mengirim output proc Anda ke file jika Anda ingin memantaunya. Juga, jika Anda memiliki skrip bash, saya pikir Anda perlu secara eksplisit memanggil 'bash' di depan nohup. Sebuah contoh...

nohup bash ./myscript.sh> output.log 2> & 1 &

Itu berarti nohup, untuk mencegah membunuh proc, bash untuk secara eksplisit memanggil bash jika Anda memiliki bash hal-hal spesifik dalam skrip Anda, skrip Anda disebut 'myscript.sh' di dir saat ini, output.log sebagai file yang akan dikirim baik std out dan kesalahan keluar, dan '&' di akhir untuk menjalankan proc di latar belakang.

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.