153 votos

No interactivos git clone (ssh de huellas dactilares del sistema)

Quiero clonar un repositorio en una no-forma interactiva. Cuando la clonación, git pide que confirme host de huellas:

The authenticity of host 'bitbucket.org (207.223.240.182)' 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)? no

¿Cómo puedo fuerza "sí" cada vez que esta pregunta aparece? He intentado utilizar yes yes | git clone ..., pero no funciona.

EDITAR: Aquí tienes la solución: ¿puedo añadir un nuevo host a known_hosts? (agrega entires a known_hosts con ssh-keyscan).

121voto

kroe Puntos 241

En mi final he solucionado el problema con la:

ssh-keyscan github.com >> ~/.ssh/known_hosts

No creo que es la mejor solución, pero era una solución para mí.

Acaba de cambiar el nombre de dominio.

9voto

Steven Soroka Puntos 151

Yo creo que una mejor opción es realizar copias de seguridad y vacía su ~/.ssh/known_hosts archivo, realizar manualmente la conexión SSH, la verificación de la dirección IP y huellas dactilares, mv ~/.ssh/known_hosts ~/bitbucket_hosts, a continuación, utilizar el contenido de ~/bitbucket_hosts en el script automáticamente anexar el conocido huellas dactilares para el archivo known_hosts (no te olvides de restaurar el valor original de ~/.ssh/known_hosts).

Este paso sólo debe realizarse una vez (en cualquier máquina, creo), y una vez que usted tiene las huellas digitales, usted puede incorporar en su script de automatización.

7voto

Jeff Stice-Hall Puntos 258

Aunque ciertamente entender que desea automatizar un proceso, hacerlo sería desacertado. La razón por SSH y redes de trabajo relacionadas con los subcomponentes se frustra cuando se utiliza un protocolo seguro es de ADVERTIR a un humano que un sistema de clave pública es desconocido. Esto es intencional - el usuario necesita explícitamente informar al sistema de la acogida que se espera. Usted no quiere a la aceptación automática cada clave pública presentada a usted o a parte de la seguridad de SSH o SSL/TLS podría estar en peligro. Un ejemplo es a través de un hombre en el ataque medio (como cuando un software de proxy presenta su propia clave en el lugar de un anfitrión que esperar.

Proceda con precaución.

Si usted no tiene miedo acerca de la fuente del código a través del alambre, de forma explícita y exclusivamente, puede utilizar el protocolo git:// cuando la clonación - es authenticationless y en texto claro.

6voto

Warren T. Puntos 101

Como Jeff Hall dijo, el hacerlo es peligroso, ya que permite no detectados hombre-en-el-medio de los ataques. Sin embargo, puede utilizar el StrictHostKeyChecking no opción de ssh para deshabilitar la comprobación de las claves de host. Sin embargo, me gustaría mucho cuidado con esa opción si yo fuera usted.

1voto

hobs Puntos 148

Una buena opción es temporalmente respuesta sí para el RSA de verificación de huellas dactilares en un clon específico:

yes | git clone http://bitbucket.org...

Edit: no funciona más. Pruebas de hoy no me fedora 19 con git 1.9.3:

$ yes | git clone git@bitbucket.org:freakypie/django-csv-tool.git
Cloning into 'django-csv-tool'...
The authenticity of host 'bitbucket.org (131.103.20.168)' 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)? 

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: