Estoy tratando de configurar git en Synology NAS a través de ssh. Creé git user, configuré la autenticación de clave privada e instalé el paquete git. Puedo iniciar sesión con éxito usando claves privadas y tener git in / opt / bin trabajando localmente (en NAS).
Para que funcione, cambié / etc / ssh / sshd_config para tener:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitUserEnvironment yes
Pero todavía no puedo hacer que funcione de forma remota.
El problema parece estar en la ruta utilizada por ssh cuando ejecuto comandos remotos. Puedo confirmar eso porque cuando lo hago
ssh [email protected] echo \$PATH
yo obtengo
/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin
que es diferente del shell interactivo que me está dando:
PATH='/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin'
Creé .ssh / environment con el siguiente contenido
PATH='/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin'
pero todavía no resuelve el problema. Parece que su contenido no se lee.
Intenté con los permisos de archivos de entorno establecidos en -rw ------- y -rw-r - r-- pero también en vano.
¿Qué más podría faltar sshd (?) En la configuración que impide que lea el entorno del usuario?
.ssh/environment
archivo?Respuestas:
La solución fue intentar ejecutar ssh en modo de depuración ejecutándose en otro puerto:
luego ejecutando cliente con
y se hizo visible que realmente recoge el medio ambiente. El problema era que el script de reinicio ssh del NAS
realmente no reinició sshd, pero solo eliminó las conexiones existentes y no pudo releer la configuración Una vez reiniciado, se configuró la configuración y todo comenzó a funcionar.
fuente