Comparar la ruta SSH de Jenkins con la cuenta del agente de compilación
Inspeccione el usuario, la configuración SSH efectiva y la ruta del auxiliar en el agente que ejecuta el paso, en lugar de confiar en una ejecución interactiva como root.
Ejecute estos comandos en la misma cuenta de agente y contexto de compilación que el paso SSH que falla:
id -un
ssh -G deploy-targetSustituya deploy-target por el nombre SSH exacto que usa la compilación. Compare el nombre de host, el puerto y proxycommand resultantes con la ejecución interactiva que funciona.
| Diferencia que comprobar | Efecto |
|---|---|
| Usuario del sistema y directorio personal | Selecciona los archivos SSH y los permisos del usuario |
| Nombre de destino | Selecciona las secciones Host y la configuración incluida |
| Ejecutable/ruta de ProxyCommand | Determina si el auxiliar puede iniciarse en ese entorno |
| Opciones de línea de comandos de SSH | Pueden seleccionar otro archivo de configuración o sobrescribir un valor |
El diagnóstico detallado de SSH puede mostrar qué archivos se leyeron si la diferencia sigue sin estar clara. JENKINS_HOME es la ubicación de datos de Jenkins, no un directorio personal universal para los usuarios de agentes remotos. Aprovisione la configuración SSH, la autenticación y los datos de clave de host previstos en la máquina y la cuenta que ejecutan realmente el comando.
En Ncat --proxy, el puerto del proxy es un destino de salida, no un escucha local que el auxiliar enlace. El éxito solo como root no identifica por sí mismo un problema de puerto de escucha privilegiado.