En ligne de commande, comment puis-je arrêter tous les services de mon Ubuntu (serveur dans ce cas particulier), à l'exception de SSH?
Et comment puis-je lister tous les services pour être sûr qu'ils ont tous été arrêtés?
Ce que vous recherchez s'appelle le mode mono-utilisateur. C'est un état où seuls les services essentiels essentiels au fonctionnement de la machine sont en cours d'exécution. Vous le saisissez en démarrant avec un argument 's' donné au noyau, ou vous pouvez y accéder en utilisant init s
. sshd
n'est généralement pas considéré comme un service essentiel, il serait donc arrêté. Pour résoudre ce problème, vous devez éditer /etc/init/ssh.conf et ajouter un "S" à la liste des niveaux d'exécution dans lesquels il devrait démarrer et ne pas être interrompu. Il se présente ainsi:
start on runlevel [S12345]
stop on runlevel [!S12345]
Je doute sérieusement que votre système reste dans un état utile après avoir tout désactivé sauf sshd. Pour une liste de statut des services parvenus, faites:
Sudo service --status-all
Pour les services System V:
Sudo initctl list
Désactiver tout ce qui a un + ou est répertorié comme démarrer/en cours d'exécution avec les commandes appropriées. Pour énoncer une évidence flagrante: si vous le faites via ssh, "arrêt du réseau de service" ou autre ne vous sera d'aucun bien.