0 votos

Dejar el demonio SSH funcionando permanentemente

Yo, por alguna razón, no puedo encontrar una búsqueda en Google que realmente responda a esta pregunta. Tengo un mac, y me gustaría tener el demonio ssh funcionando en segundo plano en todo momento, así que puedo ssh en otras máquinas cada vez que necesito. Actualmente, puedo activar ssh yendo a Preferencias del Sistema > Compartir > Inicio de sesión remoto, y marcando la casilla para activar el servicio. Puedo conectarme con éxito. Sin embargo, después de activarlo, el servicio ssh se desactiva automáticamente después de desconectarme de mi sesión ssh. Habilito el servicio a través de mac, me conecto a través de ssh desde otra máquina, me desconecto, y luego compruebo la configuración de mac para encontrar ssh desactivado. Además, creo que mi mac terminará automáticamente ssh después de un período de tiempo, ya sea de la máquina va a dormir, o de un tiempo de espera, no he descubierto el gatillo todavía.

¿Cómo puedo hacer que el demonio ssh esté habilitado PERMANENTEMENTE? Quiero el equivalente de systemctl enable sshd para mac. Quiero que el demonio ssh se inicie en el arranque, y permanecer en ejecución mientras la máquina está encendida sin tiempo de espera o se apague cuando un usuario se desconecta.

Actualmente estoy ejecutando MacOS Monterey 12.6

EDITAR: A modo de aclaración basada en los comentarios recibidos puede inicio de sesión a través de ssh si habilito el inicio de sesión remoto en las preferencias del sistema. Este es el ssh por defecto que se instaló cuando recibí el Mac, y no creo que haya ningún software MDM instalado en el Mac aparte de Computrace. Mi cuenta es de administrador, ya que el inicio de sesión remoto está restringido a sólo administradores, y también tengo acceso sudo.

He hecho algunas pruebas más y me parece que no puede reproducir de forma fiable el problema donde Inicio de sesión remoto se desactiva después de conectarse y desconectarse a través de ssh, pero es tiene de hecho ocurrió. Justo antes de publicar esta pregunta, he activado Inicio de sesión remoto a través de las preferencias del sistema, conectado a la mac a través de ssh, cerró la conexión, y luego comprobó a través de las preferencias del sistema de nuevo para encontrar Inicio de sesión remoto ya no está marcada.

Parece que además de apagarse aleatoriamente el servicio de Inicio de Sesión Remoto se desactiva cuando el Mac entra en reposo. He tenido una sesión ssh desconectarse antes, pero me pregunto si tal vez eso fue un problema aparte, tal vez un percance wifi como yo era ahora capaz de conectarse a través de ssh, y luego, mientras está conectado, desactivar Inicio de sesión remoto sin terminar la conexión ssh existente.

Gracias por el consejo sobre launchctl. Ahora puedo ver a través de launchctl que sshd crea un nuevo proceso cuando se intenta una conexión. Sin embargo, cuando Remote Login está desactivado, o se desactiva por sí mismo, el proceso com.openssh.sshd no existe, y por lo tanto no crea un subproceso para manejar la conexión.

% sudo launchctl list | grep ssh
-   0   com.openssh.sshd
90388   0   com.openssh.sshd.43C47EF8-F4FF-49E2-BBD9-96D87190B91B

1voto

Tim Campbell Puntos 111

Sshd es manejado automáticamente por launchd. La línea de comandos es launchctl pero normalmente para activar/desactivar el acceso remoto ssh se utiliza Configuración del Sistema (antes Preferencias del Sistema).

En MacOS 13 (Ventura) se encuentra en Configuración del sistema -> General -> Compartir y asegúrese de activar Inicio de sesión remoto .

launchd (/sbin/launchd) se encarga del lanzamiento automático de varios servicios o tareas basándose en el inicio del sistema, el inicio de sesión del usuario, el acceso al servicio o incluso programaciones basadas en el tiempo.

Siempre que hayas habilitado "Inicio de sesión remoto" a través de la Configuración del sistema, launchd iniciará un proceso sshd automáticamente cuando inicies una conexión remota.

Eso es lo que debe suceder. ¿Está indicando que puede activar el inicio de sesión remoto, hacer que funcione una vez, y luego no se iniciará en los siguientes intentos de acceso, correcto?

Yo empezaría por asegurarme de que no es un problema de red. ¿Puedes hacer 'ping' al mac a través de la red? Suponiendo que usted puede confirmar que no es un problema de red y sólo parece afectar ssh, entonces me gustaría echar un vistazo más de cerca a la depuración de ssh.

Validar el contenido de /etc/ssh/sshd_config

Nota: es probable que el archivo anterior incluya /etc/ssh/sshd_config.d/*, que extraerá el contenido de /etc/ssh/sshd_config.d/100-MacOS.conf, pero se trata de un archivo muy corto de 3 líneas.

Además, podría validar que los archivos de configuración de launchd están donde deben estar y no han sido modificados. y que no hay agentes de lanzamiento adicionales definidos para ssh en otras ubicaciones.

Launchd define agentes y acciones en varios lugares.

/System/Library/LaunchDaemons    <- do not edit
/System/Library/LaunchAgents     <- do not edit
/Library/LaunchDaemons
/Library/LaunchAgents
~/Library/LaunchAgents

Las dos primeras carpetas son para servicios definidos por el sistema operativo. Aunque ciertamente puedes mirar en esas carpetas, no edites nada allí y no añadas o elimines archivos a/de esas carpetas. Como regla general, nunca edites nada en la carpeta /System.

Las siguientes dos carpetas bajo /Library son para agentes añadidos por los administradores del sistema (a menudo cuando instalas aplicaciones o utilidades de terceros... si necesitan que launchd maneje algo, lo añadirán a una de esas carpetas.

La ubicación final es en la carpeta de su biblioteca, ~/Library/LaunchAgents.

El servicio SSH incorporado está definido en:

/System/Library/LaunchDaemons/ssh.plist
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist

Estos dos archivos no deben editarse. Si los inspecciona, indicarán que el servicio está deshabilitado, pero esto se debe a que en una instalación por defecto del sistema operativo, están deshabilitados a menos que los habilite manualmente a través de la Configuración del Sistema (también conocido como Preferencias del Sistema). Launchd tiene una base de datos de anulaciones. Normalmente se utiliza una utilidad para inspeccionar el contenido de esa base de datos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X