Vous pouvez utiliser sudo service ssh restartpour redémarrer le service pour prendre effet. Mais n'oubliez pas que si vous êtes connecté via SSH, votre session sera terminée.
rien ... rebondir sshd est assez intelligent pour permettre aux connexions ssh existantes de continuer joyeusement sans relâche
Scott Stensland
4
Je ne recommande pas d'exécuter quoi que ce soit dans /etc/init.d directement. Utilisez la commande "service". La plupart des services s'en moquent, mais il y en a quelques-uns qui le font car ils sont affectés par les variables d'environnement. le «service» assure le nettoyage de l'environnement. Par exemple, l'exécution de "sudo" laisse la variable d'environnement HOME dans votre répertoire personnel non root.
Chris Cogdon
5
sudo service ssh restart
ne le fera pas. Vous devez redémarrer sshd, pas ssh:
Dépend de la configuration du système. Dans Lubuntu 14.04 sudo service ssh restartfonctionne très bien, alors que le sudo service sshd restartrapport "sshd: service non reconnu". Je ne sais pas pourquoi cela varie cependant ...
schulwitz
3
Il existe un moyen encore moins intrusif de le faire, sans redémarrer le service SSH.
De man sshd:
sshd relit son fichier de configuration lorsqu'il reçoit un signal de raccrochage, SIGHUP, en s'exécutant avec le nom et les options avec lesquels il a été démarré, par exemple / usr / sbin / sshd.
Vous pouvez donc utiliser une commande comme la suivante pour envoyer SIGHUP au processus du serveur SSH:
sudo kill -SIGHUP $(pgrep -f "sshd -D")
La pgrep -f "sshd -D"partie ne renverra que le PID du processus démon sshd qui écoute les nouvelles connexions, car il y a probablement d'autres PID pour chaque session active qui n'ont pas besoin du signal.
C'est le moyen le plus sûr ( stribika.github.io/2015/01/04/secure-secure-shell.html ) de recharger la configuration: "Soyez extrêmement prudent lorsque vous configurez SSH sur un hôte distant. Gardez toujours une session active, jamais redémarrez sshd. Au lieu de cela, vous pouvez envoyer le signal SIGHUP pour recharger la configuration sans tuer votre session. Vous pouvez être encore plus prudent en démarrant une nouvelle instance de sshd sur un port différent et en le testant. "
Adriano Lucas
Y a-t-il une différence significative avec sudo pkill -HUP sshd?
AdamKalisz
@Adam Vous souhaitez uniquement HUP le processus d'écoute, pas les clients actifs qui sont également des sshdprocessus. sudo pkill -HUP -f "sshd -D"est une alternative tentante, mais alors pkill signale son propre sudoparent puisque sa ligne de commande complète correspond à son propre modèle de recherche. Vous pouvez trouver un modèle qui ne correspond pas à lui-même ... -f "sshd -[D], mais qui obscurcit un peu les choses. Je pense que la méthode pgrep est plus facile pour les apprenants d'envelopper leur tête.
Steven K
2
En tant que contrôle racine
service --status-all | grep ssh
Je n'avais aucun sshdservice, mais j'avais un sshservice sur le serveur Ubuntu. ensuite
Le rechargement peut être une meilleure alternative au redémarrage
sudo service sshd reload
sous le capot, il envoie un HUPsignal au processus démon sshd presque de la même manière que Steven K l'a déjà répondu . La différence est que cette variante utilise directement la killprocfonction au lieu de la killcommande afin d'envoyer le signal de manière encore plus précise (pour réduire les erreurs possibles d'envoi de signaux à de mauvais processus). La configuration est relue sans redémarrer / arrêter le service.
Bien sûr, il vaut la peine de savoir comment le démon SSH est appelé exactement comme d'autres l'ont expliqué.
sudo service ssh restart
pour redémarrer le service pour prendre effet. Mais n'oubliez pas que si vous êtes connecté via SSH, votre session sera terminée.Réponses:
Redémarrez simplement le service sshd:
ou:
la source
ne le fera pas. Vous devez redémarrer sshd, pas ssh:
la source
sudo service ssh restart
fonctionne très bien, alors que lesudo service sshd restart
rapport "sshd: service non reconnu". Je ne sais pas pourquoi cela varie cependant ...Il existe un moyen encore moins intrusif de le faire, sans redémarrer le service SSH.
De
man sshd
:Vous pouvez donc utiliser une commande comme la suivante pour envoyer SIGHUP au processus du serveur SSH:
La
pgrep -f "sshd -D"
partie ne renverra que le PID du processus démon sshd qui écoute les nouvelles connexions, car il y a probablement d'autres PID pour chaque session active qui n'ont pas besoin du signal.la source
sudo pkill -HUP sshd
?sshd
processus.sudo pkill -HUP -f "sshd -D"
est une alternative tentante, mais alors pkill signale son propresudo
parent puisque sa ligne de commande complète correspond à son propre modèle de recherche. Vous pouvez trouver un modèle qui ne correspond pas à lui-même... -f "sshd -[D]
, mais qui obscurcit un peu les choses. Je pense que la méthode pgrep est plus facile pour les apprenants d'envelopper leur tête.En tant que contrôle racine
Je n'avais aucun
sshd
service, mais j'avais unssh
service sur le serveur Ubuntu. ensuitela source
Pour les systèmes Systemd - Ubuntu par défaut
ou
ou
Pour les systèmes Sysvinit
ou
la source
Le rechargement peut être une meilleure alternative au redémarrage
sous le capot, il envoie un
HUP
signal au processus démon sshd presque de la même manière que Steven K l'a déjà répondu . La différence est que cette variante utilise directement lakillproc
fonction au lieu de lakill
commande afin d'envoyer le signal de manière encore plus précise (pour réduire les erreurs possibles d'envoi de signaux à de mauvais processus). La configuration est relue sans redémarrer / arrêter le service.Bien sûr, il vaut la peine de savoir comment le démon SSH est appelé exactement comme d'autres l'ont expliqué.
la source