Error en la verificación de la clave del host de Jenkins
Tengo un problema con jenkins , al configurar "git" aparece el siguiente error:
Failed to connect to repository : Command "git ls-remote -h https://[email protected]/person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: fatal: Authentication failed
He probado con ssh :
[email protected]:person/projectmarket.git
Este es el error:
Failed to connect to repository : Command "git ls-remote -h [email protected]:person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
También hice estos pasos con la "clave SSH".
Inicie sesión en Jenkins
sudo su jenkins
Copie su clave de github en la carpeta .ssh de Jenkins
cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/
Cambiar el nombre de las claves
mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
pero todavía no funciona el repositorio git en jenkins .
gracias por la ayuda!.
Cambie al jenkins
usuario y ejecute el comando manualmente:
git ls-remote -h [email protected]:person/projectmarket.git HEAD
Recibirá la advertencia SSH estándar cuando se conecte por primera vez a un nuevo host a través de SSH:
The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?
Escriba yes
y presione Entrar. La clave de host bitbucket.org
ahora se agregará al ~/.ssh/known_hosts
archivo y ya no recibirá este error en Jenkins.
Jenkins es una cuenta de servicio, no tiene un shell por diseño. Generalmente se acepta que las cuentas de servicio. no debería poder iniciar sesión de forma interactiva.
Para resolver "Error en la verificación de la clave de Jenkins Host", siga los siguientes pasos. He usado mercurial con jenkins.
- Ejecute los siguientes comandos en la terminal
$ sudo su -s /bin/bash jenkins
proporcionar contraseña
- Genere una clave pública privada usando el siguiente comando:
ssh-keygen
puedes ver el resultado como ::
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
- Presione Intro --> No proporcione ninguna contraseña --> presione Intro
Key has been generated
vaya a --> gato /var/lib/jenkins/.ssh/id_rsa.pub
Copiar clave de id_rsa.pub
Salir de fiesta
ssh@yourrepository
vi .ssh/authorized_keys
Pega la clave
salida
Iniciar sesión manualmente en el servidor mercurial
Nota: Por favor, inicie sesión manualmente; de lo contrario, jenkins volverá a dar el error "Error en la verificación del host".
- Una vez hecho manualmente, ahora vaya a Jenkins y genere la compilación.
¡¡¡Disfrutar!!!
Buena suerte
O puedes usar:
ssh -oStrictHostKeyChecking=no host
Esto será inseguro (el hombre en el medio ataca) pero será la solución más fácil.
La mejor manera de hacerlo es generar asignaciones correctas entre el host y la dirección IP, así que ssh
no me quejaré:
#!/bin/bash
for domain in "github.com" "bitbucket.org"; do
sed -i "/$domain/d" ~/.ssh/known_hosts
line=$(ssh-keyscan $domain,`nslookup $domain | awk '/^Address: / { print $2 ; exit }'`)
echo $line >> ~/.ssh/known_hosts
done
Extracto de la esencia .
Tenga en cuenta que lo anterior también se puede hacer directamente desde la terminal:
domain=github.com
sed -i "/$domain/d" ~/.ssh/known_hosts
line=$(ssh-keyscan $domain,`nslookup $domain | awk '/^Address: / { print $2 ; exit }'`)
echo $line >> ~/.ssh/known_hosts
Debajo Manage Jenkins > Configure Global Security
hay:
por cierto. Sin verificación seguramente no es la mejor opción.