Línea de comando SSH reiniciar Mac OSX Mountain Lion

62

¿Cómo puedo reiniciar el servicio SSH a través de la línea de comandos en Mac OSX Mountain Lion, por favor?

Utilizando ps aux | grep 'ssh', pude deducir que el proceso es más probable /usr/sbin/sshd.

Desde aquí busqué en la documentación de sshd referencias para 'reiniciar' pero no encontré ninguna.

No sé cuál debería ser mi próximo paso.

James Webster
fuente
44
¿Qué estás tratando de lograr realmente? Si es algo así como recargar la configuración de sshd, no es necesario: launchd inicia un nuevo proceso de sshd a pedido cuando se recibe una conexión entrante, lo que significa que la configuración se vuelve a leer automáticamente para cada nueva conexión. OTOH, si está tratando de cambiar la configuración del oyente, esos son controlados por launchd, no la configuración sshd (ver aquí ).
Gordon Davisson
1
Esta fue solo una prueba de depuración de una solicitud de contraseña de un ssh supuestamente sin contraseña utilizando claves públicas. Resulta que lo que me perdí fue apagar StrictMode
James Webster el

Respuestas:

42

Vea esta respuesta a una pregunta similar en ServerFault. El comando debe ser el mismo en Mountain Lion.

Puede detener el servicio utilizando el subcomando 'descargar'.

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

Actualización sugerida por @MattClark: Para reiniciar el servicio, use loaddespués de unload:

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

Tenga en cuenta que las sesiones SSH existentes finalizarán, por lo que debe ejecutar esto independientemente de la sesión de usuario actual.

Ansgar Wiechers
fuente
Este me atrapalaunchctl: Error unloading: com.openssh.sshd
Nicolas Miari
1
@MattClark Entonces le sugiero que se mantenga alejado de las máquinas de producción hasta que mejore su comprensión de lectura. De mi respuesta: "Puedes DETENER el servicio ..." (énfasis mío).
Ansgar Wiechers
3
Tienes razón, leí mal esto, fue mi culpa. Sin embargo, esto tampoco respondió a la pregunta que se hizo.
Matt Clark
Puede ejecutar esto de una vez con Cx Ce (C significa Control). Péguelo en la terminal, luego Cx Cc para ejecutar el comando emacs kill, que le pedirá que guarde. Lo hice de forma remota y no cortó mi conexión ... dado que su configuración es correcta.
Ray Foss
92

No hay ninguna razón para 'descargar' el servicio sshd, cuando en su lugar puedes simplemente 'Detener' el servicio sshd. Se reiniciará por sí mismo.

sudo launchctl stop com.openssh.sshd
glenschler
fuente
2
en launchctl stop error: No such process
Moutain Lion
1
@RickyA: funcionó bien en OSX Mavericks
neu242
No funciona aquí ( launchctl stop error: No such process)
Nicolas Miari
1
Es necesario sudoya que así es como se inicia. Comparar los que esté ejecutando demonios / agentes launchctl list | grep -i opensshvs sudo launchctl list | grep -i openssh. Para referencia, lea el enlace de
launchctl
Esto ya no funciona en OS X Yosemite, al intentar detener sshd (como root) se obtiene un estado de salida de 3 y el servicio continúa ejecutándose.
RCross
4

No pude confirmar que la respuesta de Ansgar funcionó ya que no había mensajes / signos obvios, aunque estoy seguro de que lo hizo.

También encontré killall sshdqué mata y reinicia los procesos sshd con la desventaja de que se detienen las conexiones.

James Webster
fuente