SSH üzerinden yükseltme riski nedir?


75

Kaçtığımda

sudo do-release-upgrade

ssh üzerinden aşağıdaki mesajı alıyorum.

Bu oturum ssh altında çalışıyor gibi görünüyor. Tavsiye edilmez
başarısızlık durumunda şu anda ssh üzerinden yükseltme yapmak için
kurtarmak zor.

Devam ederseniz, limanda ek bir ssh cini başlatılacak
'9004'.
Devam etmek istiyor musun?

Ssh üzerinde yükseltme gerçek risk nedir? Ek ssh arka plan programı bunu hafifletmeye nasıl yardımcı olur?

Yanıtlar:


56

Yapmamı önerdiğim şey sunucuda bir ekran oturumu başlatmak ve yükseltme işlemini ekranda çalıştırmak - SSH oturumunuz düştüğünde (ne nedenle olursa olsun) yükseltme işlemi durmaz.

Ekran , bir makinede kalıcı terminal (ler) sağlayan bir programdır. Böylece bir ekran oturumu başlatabilirsiniz ve makine o ekran oturumunda olduğu sürece (ve geçmişi, programları çalıştırma vb.), Hiç kimse makinede olmasa da çalışmaya devam eder. Bu tasarlanmış ilk günlerinde X Server gün önce çok pencereli metin terminali sağlamaktır. APT kullanarak yükleyebilirsiniz:

sudo apt-get install screen

Böylece ssh sunucunuza ssh, ekran başlatmak, yükseltme işlemini başlatmak ve Internet bağlantınızı kaybettikten veya bilgisayarınızı düştüğünüz için yükseltme bing endişelenmenize gerek yok.


1
Ekran bu durum için mükemmel bir araçtır.
Ryan Thompson

7
Görünüşe göre do-release-upgrade(kesin olarak) otomatik olarak çalışıyor screen.
manu

2
ekran artık geçerli değil ve bu bir nedenden dolayı TMUX ile çalışmıyor gibi görünüyor. Bu hatayı döndürür: === Komut çıkış durumu ile sonlandırıldı 1 (Çarşamba 19 Ekim 21:14:13 2016) ===
Gman Smith

screen -dmS do-release-upgrade-> screen -rçalışan ekrana geçmek için -> Ctrl + A, Ctrl + D ekranın arka planda çalışmasını sağlamak ve ana ekrana dönmek için
Ryan Allen

83

@ Marco-Ceppi'nin çözümü zaten içine entegre edildi do-release-upgrade.

Çalıştırdığınızda do-release-upgrade, otomatik olarak bir ekran oturumu başlatır. Ssh oturumunuzun bağlantısı kesilirse, yüklemeye devam edebilirsiniz. Tek yapmanız gereken yeni bir ssh oturumu açmak ve do-release-upgradetekrar çalıştırmak . Önceki kurulumunuza tekrar bağlanacaktır.

@ Sepp2k tarafından işaret edilen ikinci bir risk ise, sshd sunucunuzun yükseltilmesi gerekebileceği ve doğru bir şekilde yeniden başlatılamayacağıdır. Bu nedenle, yükseltme programı belirtilen bağlantı noktasında ikinci bir deamon çalıştırır. Devam etmeden önce bu bağlantı noktasından erişiminiz olduğundan emin olmak için ağ yapılandırmanızı kontrol etmelisiniz.

İyi şanslar.

Dahası, ekran oturumu do-release-upgradekendi başına kök hesabın altında çalıştırılır, yani eğer kendi ekran oturumu kilitlenirse, sudo screen -x(nedense) komut do-release-upgradekendi başına kurtaramazsa çalıştırarak kurtarabilirsin. bu ortak görünüyor.


1
Bunun hangi Ubuntu sürümünden olduğunu biliyor musunuz? 9.10'dan yükseltmeye çalışıyorum ve upgrade ( sudo do-release-upgrade) 'ye başladıktan ve "Evet" e cevap verdikten sonra , 9004 numaralı bağlantı noktasından ssh'ye bağlanabiliyorum, ancak screendenemede listelenen oturum yok sudo screen -list . (PS Henüz indirme aşamasını
geçmedim

7
9.10'dan 10.04 LTS'ye yükselttikten sonra (burada do-release-upgradebir ekran oturumu başlatılmadı) Şimdi 10.04 LTS'den 12.04 LTS'ye yükseliyorum ve şimdi do-release-upgradeotomatik olarak bir ekran oturumu başlatıyorum.
mgd

2
Dolayısıyla, temelde, do-release-upgradeelden önce her şeye dikkat edin, o zaman: 1) do-release-upgradeyeniden giriş yaptıktan sonra yeniden çalıştırarak kırık bir ssh'den yeniden bağlanabilirsiniz ve 2) başlangıçta belirtilen bağlantı noktası üzerinden başarısız bir sshd yükseltmesinden yeniden giriş yapabilirsiniz. do-release-upgrade. Öyle mi?
Juh_

5
sudo screen -x hayatımı kurtardı! Teşekkürler.
Felipe,

4
O zaman neden uyarı mesajı hala orada? Çok uğursuz geliyor.
Jahmic

17

Yükseltme işleminin bir parçası olarak ssh arka plan programının yeni bir sürümü yüklüyse, arka plan programı yeniden başlatılır. Güncelleme bir sebepten dolayı arka plan programı bozarsa, yeniden başlatılamaz ve makineye giriş yapmanıza artık gerek kalmaz.

İnit sistemi tarafından kullanılmayan ve bu nedenle yükseltme sırasında yeniden başlatılmayacak ayrı bir sshd başlatarak, yeni sürüm başlatılmasa bile, eski sshd sürümünün çalışmaya devam etmesi sağlanır. Böylece hala sisteme giriş yapabilir ve hangi cehennemin kırılmasına neden olduğunu görebilirsiniz.


1
Daemon yeniden başlatıldığında, işleminizin ssh oturumunda çalıştığından yükseltme işleminizin bitmemiş olacağından daha alakalı olduğunu düşünüyorum.
Malabarba

3

Hiçbir zaman (henüz) bu konuda bir sorun yaşamadım, ancak sadece yarım düzine kadar kutuyu bu şekilde yükselttim. Sadece bir şey yanlış giderse, ek SSH cini ziyaretten kaçınmak için tek umudunuz olabilir (veya sahip olduğunuz uzaktan yeniden yükleme seçeneklerinden yararlanarak).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.