Respuestas:
Esto es específico para OpenSSH desde la versión 3.9 en adelante.
Para cada nueva conexión, sshd se volverá a ejecutar, para garantizar que todas las aleatorizaciones en tiempo de ejecución se vuelvan a generar para cada nueva conexión. Para que sshd se vuelva a ejecutar, necesita conocer la ruta completa a sí mismo.
Aquí hay una cita de las notas de la versión 3.9:
- Haga que sshd (8) se vuelva a ejecutar al aceptar una nueva conexión. Esta medida de seguridad garantiza que todas las aleatorizaciones en tiempo de ejecución se vuelvan a aplicar para cada conexión en lugar de una vez, durante la vida útil del proceso maestro. Esto incluye mapeos mmap y malloc, direccionamiento de biblioteca compartida, orden de mapeo de biblioteca compartida, cookies ProPolice y StackGhost en sistemas que admiten tales cosas
En cualquier caso, generalmente es mejor reiniciar un servicio usando su script de inicio (por ejemplo /etc/init.d/sshd restart
) o usando service sshd restart
. Por lo menos, le ayudará a verificar que el servicio se iniciará correctamente después del próximo reinicio ...
( respuesta original, ahora irrelevante: mi primera suposición sería que /usr/sbin
no está en su $ PATH ) .
Esto es para evitar que alguien inyecte un sshd
programa en algún lugar de uno de los directorios en su PATH
e inadvertidamente lo ejecute. Esta publicación de 2004 ya describe el problema.