
Estoy configurando una instancia EC2 con Terraform y necesito ejecutar un script grande durante este proceso. Quiero descargar el script de nuestro repositorio de gitlab con algo como:
git clone [email protected]:a_name/project.git
Cloning into 'project'...
The authenticity of host 'gitlab.something.org (12.34.56.78)' can't be established.
ECDSA key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no)? yes
Cloning into ...
Cuando ejecuto esto desde la línea de comando, tengo que confirmar, pero esto no es posible en mi situación.
Sin embargo, /var/log/cloud-init-output.log
veo esto (después de haber cargado la clave privada correcta):
Cloning into 'project'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Espero que este error sea simplemente el resultado de no responder con un 'sí'. ¿Hay alguna manera de decirle a git que está bien, que sé lo que estoy haciendo y seguir adelante?
Respuesta1
Utilice su sistema automatizado para implementar un known_hosts
archivo que tenga las claves de host correctas. Puede copiar las entradas de sus propios hosts_conocidos, por ejemplo, usandossh-keygen -F gitlab.something.org
(esto funciona incluso si el archivo ha sido hash).
El archivo podría implementarse en ~/.ssh/known_hosts
o en /etc/ssh/ssh_known_hosts
.
Tenga en cuenta que la verificación de la clave de hostno esahí sólo para hacerte confirmar lo que estás haciendo; está ahí para confirmar que lo que estás intentando hacer coincide con lo que realmente está sucediendo. Al igual que HTTPS, está destinado a proteger contra factores externos como los ataques MITM: la URL que ingresó puede ser 100% correcta todo el tiempo, pero los paquetes pueden ser redirigidos repentinamente al servidor equivocado meses o años después.