Comment puis-je vraiment arrêter le serveur ssh?

15

Je désactive le serveur ssh avec systemctl disable ssh puis redémarre. Après le redémarrage, je peux toujours me connecter au serveur distant via ssh. J'utilise systemctl status ssh pour vérifier l'état du serveur et il est inactif.

$ systemctl -a | grep ssh
ssh.service                                               loaded    inactive dead      OpenBSD Secure Shell server
[email protected]:22-192.168.0.104:31079.service        loaded    active   running   OpenBSD Secure Shell server per-connection daemon (192.168.0.104:31079)
system-ssh.slice                                          loaded    active   active    system-ssh.slice
ssh.socket                                                loaded    active   listening OpenBSD Secure Shell server socket
codexplorer
la source
Pourriez-vous ajouter la sortie de systemctl status sshà votre question?
Fiximan
C'est un peu comme:● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2019-07-09 23:25:16 CST; 1s ago
codexplorer
1
De plus, vous devez bloquer le port 22 sur le pare-feu, de sorte que même si le serveur SSH fonctionne d'une manière ou d'une autre, il ne sera pas accessible à distance.
dr01

Réponses:

26

Le socket SSD systemd est actif et le service SSH est activé par le socket. Vous devez également désactiver le socket:

systemctl disable --now ssh.socket

En fait, sur mon système Arch, le démon sshd ne s'exécute que lorsqu'une nouvelle connexion entre. À d'autres moments, les seuls cas de sshd sont les processus enfants qui sont bifurqués pour gérer ces connexions.

Regarde aussi:

muru
la source
2
@spender, c'est le blog officiel de Lennart Poettering, il est donc difficile d'obtenir une «meilleure» source que cela. Je ne sais pas pourquoi vous recevez un avertissement de Firefox, mais je ne le suis pas
Michael Snook
1
Ah, vous recevez probablement un avertissement concernant son certificat auto-signé.
muru
1
@spender: En effet, le message d'erreur est absolument horrible. Cela devrait vous dire de ne pas soumettre de données privées au site, et non pas que "les pirates puissent voler vos données [implicites: au repos] si vous visitez le site". Il se lit comme un message scareware / fake-AV que les utilisateurs doivent être formés à ignorer .
R .. GitHub STOP HELPING ICE
1
Maintenant que Lets Encrypt est si facile à utiliser, Poettering devrait l'utiliser à la place des certificats auto-signés. : /
muru
5
@muru donne un peu de temps à Poettering - il faut du temps pour intégrer une autorité de certification dans un gestionnaire d'init ....
ivanivan