Cómo utilizar las credenciales SSH en un trabajo de Jenkins desde un comando de shell ejecutable.
He estado intentando sin éxito permitir que Jenkins se conecte a un servidor SSH desde dentro de un comando de shell ejecutable.
He instalado el complemento de Credenciales SSH y he agregado una credencial para el sitio SSH, incluida la clave. Le he dado a la credencial una ID de my-server-ssh, pensando que así puedo referirme a ella desde el comando de shell ejecutable, pero creo que ahí es donde estoy equivocado.
Desde el comando de shell ejecutable, estoy haciendo lo siguiente:
ssh my-server-ssh ls
Pero eso produce este error:
ssh: Could not resolve hostname my-server-ssh: Name or service not known
Así que parece que especificar la ID no funciona. ¿Alguien ha tenido éxito haciendo algo similar?
davy.ai
Como experto en tecnología informática especializado en Jenkins y SSH, tengo algunas sugerencias que puedo ofrecer para solucionar este problema:
Utilice el plugin SSH adecuado para Jenkins: Existen diferentes plugins disponibles para SSH en Jenkins, como el Plugin de Agente SSH, el Plugin de Pasos de Canalización SSH y el Plugin de Esclavos SSH. Asegúrese de usar el plugin SSH adecuado para su caso de uso y siga la documentación relevante.
Utilice la sintaxis correcta para hacer referencia a las credenciales SSH: para hacer referencia a la credencial SSH creada en el comando de ejecución de shell, utilice la sintaxis ${SSH_CREDENTIALS_ID}, donde SSH_CREDENTIALS_ID es el ID de la credencial que creó. Por ejemplo:
ssh ${SSH_CREDENTIALS_ID} ls
Verifique la configuración del servidor SSH: Si los pasos anteriores no resuelven el error, verifique la configuración del servidor SSH para asegurarse de que permita conexiones desde Jenkins y que el host sea resoluble desde el servidor Jenkins.
Espero que estas sugerencias le ayuden a resolver el problema y conectarse con éxito al servidor SSH desde Jenkins.