Redémarrage SSH en ligne de commande Mac OSX Mountain Lion


62

Comment puis-je redémarrer le service SSH via la ligne de commande sur Mac OSX Mountain Lion s'il vous plaît?

En utilisant ps aux | grep 'ssh', j'ai pu déduire que le processus est le plus probable /usr/sbin/sshd.

De là, j'ai cherché dans la documentation de sshd des références à 'redémarrer' mais n'en ai trouvé aucune.

Je ne sais pas quelle devrait être ma prochaine étape.


4
Qu'essayez-vous réellement d'accomplir? S'il s'agit de recharger la configuration sshd, vous n'avez pas besoin - launchd démarre un nouveau processus sshd à la demande lorsqu'une connexion entrante est reçue, ce qui signifie que la configuration est relue automatiquement à chaque nouvelle connexion. OTOH, si vous essayez de modifier les paramètres d'écoute, ceux-ci sont contrôlés par launchd et non par la configuration sshd (voir ici ).
Gordon Davisson

1
Ce n'était qu'un test du débogage d'une demande de mot de passe de ssh supposément sans mot de passe à l'aide de clés publiques. Il s'est avéré que ce que j'ai manqué, c'est d'éteindre StrictMode
James Webster le

Réponses:


42

Voir cette réponse à une question similaire sur ServerFault. La commande devrait être la même dans Mountain Lion.

Vous pouvez arrêter le service à l'aide de la sous-commande 'unload'.

sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist

Mise à jour suggérée par @MattClark: Pour redémarrer le service, utilisez loadaprès unload:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Notez que les sessions SSH existantes seront terminées. Vous devez donc l'exécuter indépendamment de la session utilisateur en cours.


Celui-ci me prendlaunchctl: Error unloading: com.openssh.sshd
Nicolas Miari

1
@MattClark Ensuite, je vous suggère de rester à l'écart des machines de production jusqu'à ce que vous amélioriez votre compréhension en lecture. D'après ma réponse: "Vous pouvez arrêter le service ..." (c'est moi qui souligne).
Ansgar Wiechers

3
Vous avez raison, j'ai mal interprété cela, c'était de ma faute. Cependant, cela n'a pas non plus répondu à la question car elle a été posée.
Matt Clark

Vous pouvez exécuter ceci en une fois avec Cx Ce (C signifie Control). Collez-le dans le terminal, puis Cx Cc pour exécuter la commande emacs kill, qui vous invitera à sauvegarder. Je l'ai fait à distance et cela n'a pas tué ma connexion ... étant donné que votre configuration est correcte.
Ray Foss

92

Il n'y a aucune raison de «décharger» le service sshd, alors que vous pouvez simplement «arrêter» le service sshd. Il va redémarrer tout seul.

sudo launchctl stop com.openssh.sshd

2
on lion de launchctl stop error: No such process
montagne

1
@RickyA: a bien fonctionné sous OSX Mavericks
neu242

Ne fonctionne pas ici ( launchctl stop error: No such process)
Nicolas Miari

1
Vous devez le faire sudopuisque c'est comme cela que le programme est lancé. Comparez les daemons / agents en cours d' exécution launchctl list | grep -i opensshcontre sudo launchctl list | grep -i openssh. Pour référence, lisez le lien
launchctl

Cela ne fonctionne plus sous OS X Yosemite. Si vous tentez d'arrêter sshd (en tant que root), l'état de sortie est 3 et le service continue de s'exécuter.
RCross

4

Je ne pouvais pas confirmer la réponse d'Ansgar qui fonctionnait, car il n'y avait aucun message / signe évident, bien que je sois confiant.

J'ai également découvert killall sshdqui tue et redémarre les processus sshd avec l'inconvénient que toutes les connexions sont arrêtées.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.