106 votes

Quel est le risque d'une mise à niveau par SSH ?

Quand je cours

sudo do-release-upgrade

par ssh, j'obtiens le message suivant.

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'9004'.
Do you want to continue?

Quel est le risque réel de la mise à niveau par ssh ? Comment le démon ssh supplémentaire permet-il d'atténuer ce risque ?

109voto

Paweł Hajdan Points 8004

La solution de @Marco-Ceppi est déjà intégrée dans le système d'information de la Commission européenne. do-release-upgrade .

Lorsque vous exécutez do-release-upgrade il démarre automatiquement une session d'écran. Si votre session ssh est déconnectée, vous pouvez reprendre l'installation. Tout ce que vous avez à faire est d'ouvrir une nouvelle session ssh, et d'exécuter do-release-upgrade encore. Il se reconnectera à votre installation précédente.

Un deuxième risque, signalé par @sepp2k, est que votre serveur sshd pourrait avoir besoin d'être mis à jour et qu'il pourrait ne pas redémarrer correctement. C'est pourquoi le programme de mise à jour exécute un second deamon, au port spécifié. Vous devez vérifier votre configuration réseau pour vous assurer que vous avez accès à ce port, avant de reprendre.

Bonne chance.

En outre, l'écran-session do-release-upgrade démarre par lui-même est exécuté sous le compte root, donc si votre propre session d'écran se plante, vous pourrez récupérer en exécutant sudo screen -x si (pour une raison quelconque) la commande do-release-upgrade ne le récupère pas par lui-même, ce qui semble être courant.

67voto

Redbaron Points 523

Ce que je recommande, c'est de lancer une session écran sur le serveur et d'exécuter la mise à niveau à l'écran - de cette façon, si votre session SSH est interrompue (pour une raison quelconque), le processus de mise à niveau ne s'arrêtera pas.

Écran est un programme qui permet d'avoir un ou plusieurs terminaux persistants sur une machine. Ainsi, vous pouvez démarrer une session d'écran et tant que la machine est allumée, cette session d'écran (et son historique, les programmes en cours, etc.) continuera à fonctionner même si aucun utilisateur ne se trouve sur la machine. Cela a été conçu dans le les premiers jours pour fournir un terminal texte multifenêtre avant l'époque du serveur X. Vous pouvez l'installer en utilisant APT :

sudo apt-get install screen

Ainsi, vous pouvez vous connecter à votre serveur, démarrer l'écran, lancer le processus de mise à niveau et ne pas avoir à vous soucier du fait que la mise à niveau soit bâclée parce que vous avez perdu la connexion Internet ou que votre ordinateur a planté.

18voto

jj33 Points 3858

Si une nouvelle version du démon ssh est installée dans le cadre de la mise à niveau, le démon sera redémarré. Si la mise à jour interrompt le démon pour une raison quelconque, il ne redémarrera pas et vous n'aurez plus aucun moyen de vous connecter à la machine.

En démarrant un sshd séparé, qui n'est pas géré par le système init et qui ne sera donc pas redémarré pendant la mise à niveau, on s'assure que l'ancienne version de sshd continuera à fonctionner même si la nouvelle version ne démarre pas. Ainsi, vous pouvez toujours vous connecter au système et voir ce qui a causé la panne du démon.

3voto

Darmen Amanbayev Points 243

Je n'ai jamais (encore) eu de problème à le faire, bien que je n'aie mis à niveau qu'une demi-douzaine de boîtes de cette manière. C'est juste que si quelque chose ne va pas, le démon SSH supplémentaire peut être votre seul espoir d'éviter une visite (ou d'utiliser les options de réinstallation à distance dont vous disposez).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X