Command Line SSH riavvia Mac OSX Mountain Lion


62

Come posso riavviare il servizio SSH tramite la riga di comando su Mac OSX Mountain Lion, per favore?

Usando ps aux | grep 'ssh', sono stato in grado di dedurre che il processo è molto probabile /usr/sbin/sshd.

Da qui ho cercato nella documentazione sshd i riferimenti a 'riavvio' ma non ne ho trovato nessuno.

Non so quale dovrebbe essere il mio prossimo passo.


4
Cosa stai effettivamente cercando di realizzare? Se è qualcosa come ricaricare la configurazione di sshd, non è necessario: launchd avvia un nuovo processo sshd su richiesta quando viene ricevuta una connessione in entrata, il che significa che la configurazione viene riletta automaticamente per ogni nuova connessione. OTOH, se stai provando a cambiare le impostazioni del listener, quelle sono controllate da launchd e non dalla configurazione sshd (vedi qui ).
Gordon Davisson,

1
Questo è stato solo un test per il debug di una richiesta di password da ssh apparentemente senza password usando chiavi pubbliche. Si scopre che la cosa che mi è sfuggita è stata disattivare StrictMode
James Webster il

Risposte:


42

Vedi questa risposta a una domanda simile su ServerFault. Il comando dovrebbe essere lo stesso in Mountain Lion.

È possibile interrompere il servizio utilizzando il sottocomando "scarica".

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

Aggiornamento suggerito da @MattClark: per riavviare il servizio utilizzare loaddopo unload:

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

Si noti che le sessioni SSH esistenti verranno terminate, quindi è necessario eseguirlo indipendentemente dalla sessione utente corrente.


Questo mi prendelaunchctl: Error unloading: com.openssh.sshd
Nicolas Miari,

1
@MattClark Quindi ti suggerisco di stare lontano dalle macchine di produzione fino a migliorare la comprensione della lettura. Dalla mia risposta: "Puoi interrompere il servizio ..." (enfasi sulla mia).
Ansgar Wiechers,

3
Hai ragione, l'ho letto male, è stata colpa mia. Tuttavia, anche questo non ha risposto alla domanda in quanto è stata posta.
Matt Clark,

Puoi eseguirlo in una volta sola con Cx Ce (C sta per Control). Incollalo nel terminale, quindi Cx Cc per eseguire il comando emacs kill, che ti chiederà di salvare. L'ho fatto da remoto e non ha ucciso la mia connessione ... dato che la tua configurazione è corretta.
Ray Foss,

92

Non vi è alcun motivo per "scaricare" il servizio sshd, quando invece è possibile semplicemente "interrompere" il servizio sshd. Si riavvierà da solo.

sudo launchctl stop com.openssh.sshd

2
on moutain lion:launchctl stop error: No such process
RickyA

1
@RickyA: ha funzionato bene su OSX Mavericks
neu242

Qui non funziona ( launchctl stop error: No such process)
Nicolas Miari,

1
È necessario sudopoiché è così che viene lanciato. Confronta i demoni in esecuzione / agenti launchctl list | grep -i opensshvs sudo launchctl list | grep -i openssh. Per riferimento leggi il link
launchctl

Questo non funziona più in OS X Yosemite, il tentativo di arrestare sshd (come root) porta allo stato di uscita di 3 e il servizio continua a funzionare.
RCross

4

Non sono riuscito a confermare che la risposta di Ansgar abbia funzionato in quanto non c'erano messaggi / segni evidenti, anche se sono sicuro che abbia funzionato.

Ho anche scoperto killall sshdche uccide e riavvia i processi sshd con lo svantaggio di interrompere qualsiasi connessione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.