Apa risiko meningkatkan SSH?

75

Ketika saya berlari

sudo do-release-upgrade

lebih dari ssh, saya mendapatkan pesan berikut.

Sesi ini tampaknya berjalan di bawah ssh. Tidak disarankan
untuk melakukan peningkatan lebih dari ssh saat ini karena dalam kasus kegagalan itu
lebih sulit untuk dipulihkan.

Jika Anda melanjutkan, daemon ssh tambahan akan dimulai di port
'9004'.
Apakah Anda ingin melanjutkan?

Apa risiko sebenarnya dari peningkatan lebih dari ssh? Bagaimana daemon ssh tambahan membantu mengurangi ini?

C. Ross
sumber

Jawaban:

56

Apa yang saya sarankan lakukan adalah meluncurkan sesi layar di server dan menjalankan upgrade di layar - dengan cara itu jika sesi SSH Anda turun (untuk alasan apa pun) proses upgrade tidak akan berhenti.

Layar adalah program yang memungkinkan terminal persisten pada mesin. Jadi, Anda dapat memulai sesi layar dan selama mesin ada di sesi layar itu (dan riwayatnya, program yang sedang berjalan, dll) akan terus beroperasi meskipun tidak ada pengguna di mesin itu. Itu dirancang pada hari-hari awal untuk menyediakan terminal teks multi-jendela sebelum zaman X Server. Anda dapat menginstalnya menggunakan APT:

sudo apt-get install screen

Jadi Anda dapat ssh ke server Anda, mulai layar, memulai proses upgrade dan tidak perlu khawatir tentang upgrade gagal karena Anda kehilangan koneksi internet atau komputer Anda crash.

Marco Ceppi
sumber
1
Layar adalah alat yang sangat baik untuk situasi ini.
Ryan Thompson
7
Tampaknya do-release-upgrade(karena tepat) secara otomatis dieksekusi screen.
manu
2
Layar tidak lagi tersedia, dan ini sepertinya tidak berfungsi dengan TMUX untuk beberapa alasan. Ini mengembalikan kesalahan ini: === Perintah diakhiri dengan status keluar 1 (Rabu 19 Oktober 21:14:13 2016) ===
Gman Smith
screen -dmS do-release-upgrade-> screen -runtuk beralih ke layar yang sedang berjalan -> Ctrl + A, Ctrl + D untuk membiarkan layar berjalan di latar belakang dan kembali ke layar utama
Ryan Allen
83

Solusi @ Marco-Ceppi sudah terintegrasi do-release-upgrade.

Ketika Anda menjalankannya do-release-upgradememulai sesi layar secara otomatis. Jika sesi ssh Anda terputus, Anda dapat melanjutkan instalasi. Yang harus Anda lakukan adalah membuka sesi ssh baru, dan jalankan do-release-upgradelagi. Ini akan menyambung kembali ke instalasi Anda sebelumnya.

Risiko kedua, ditunjukkan oleh @ sepp2k adalah bahwa server sshd Anda mungkin perlu ditingkatkan, dan mungkin tidak dapat memulai kembali dengan benar. Oleh karena itu program peningkatan menjalankan deamon kedua, pada port yang ditentukan. Anda harus memeriksa konfigurasi jaringan Anda untuk memastikan Anda memiliki akses melalui port ini, sebelum melanjutkan.

Semoga berhasil.

Selain itu, sesi layar do-release-upgradedimulai dengan sendirinya dijalankan di bawah akun root, jadi jika sesi layar Anda sendiri macet, Anda akan dapat memulihkan dengan menjalankan sudo screen -x, jika (karena alasan tertentu) perintah do-release-upgradetidak memulihkannya dengan sendirinya, yang tampaknya umum.

jarondl
sumber
1
Apakah Anda tahu dari versi Ubuntu yang mana hal ini terjadi? Saya mencoba memperbarui dari 9.10 dan setelah memulai pemutakhiran ( sudo do-release-upgrade) dan menjawab "Ya", saya dapat terhubung ke ssh pada port 9004 tetapi tidak ada screensesi yang terdaftar saat mencoba sudo screen -list . (PS Saya belum melewati tahap pengunduhan.)
mgd
7
Setelah memutakhirkan dari 9,10 ke 10,04 LTS (di mana do-release-upgradetidak memulai sesi layar) sekarang saya meningkatkan dari 10,04 LTS menjadi 12,04 LTS dan sekarang do-release-upgradesekarang memulai sesi layar secara otomatis.
mgd
2
Jadi pada dasarnya, do-release-upgradeurus semuanya sebelum tangan, lalu: 1) Anda dapat menyambung kembali dari ssh yang rusak dengan menjalankan do-release-upgradekembali setelah login ulang dan 2) Anda dapat login kembali dari upgrade sshd yang gagal melalui port yang ditentukan di awal oleh do-release-upgrade. Itu saja ?
Juh_
5
layar sudo -x menyelamatkan hidupku! Terima kasih.
Felipe
4
Lalu mengapa pesan peringatan itu masih ada? Kedengarannya sangat tidak menyenangkan.
Jahmic
17

Jika versi baru daemon ssh diinstal sebagai bagian dari peningkatan, daemon akan dimulai kembali. Jika pembaruan merusak daemon karena suatu alasan, itu akan gagal untuk memulai lagi dan Anda tidak akan memiliki cara masuk ke mesin lagi.

Dengan memulai sshd terpisah, yang tidak ditangani oleh sistem init dan karenanya tidak akan dimulai kembali selama pemutakhiran, dipastikan bahwa sshd versi lama akan tetap berjalan meskipun versi baru gagal untuk memulai. Dengan demikian Anda masih dapat masuk ke sistem dan melihat apa yang menyebabkan dasmon rusak.

sepp2k
sumber
1
Saya pikir itu lebih relevan bahwa, ketika daemon di-restart, pemutakhiran Anda mungkin akan dihentikan belum selesai, karena prosesnya berjalan pada sesi ssh.
Malabarba
3

Saya belum pernah (belum) memiliki masalah melakukan itu, meskipun saya hanya upgrade setengah lusin kotak seperti itu. Hanya saja jika terjadi kesalahan daemon SSH tambahan mungkin satu-satunya harapan Anda untuk menghindari kunjungan (atau memanfaatkan opsi instal ulang jarak jauh apa pun yang Anda miliki).

Cry Havok
sumber