Tengo un servicio de construcción automática que se descarga desde un repositorio privado git. El problema es que cuando intenta clonar el repositorio necesita proporcionar la contraseña, porque no se recuerda; así que como no hay interacción humana, espera para siempre la contraseña. ¿Cómo puedo forzarlo a recordar de id_rsa.pub?
125
eval $(ssh-agent)
lugar.ssh-add ~/.ssh/myfile_rsa
copy > ~/.bashrc
en git bash para crear el archivo bashrc en windows, ignore el errorEsta respuesta explica cómo obtener el nombre de usuario y la contraseña de GitHub para que se almacenen permanentemente, no la frase de contraseña de la clave SSH.
En Windows, solo ejecuta
Esto significa que la próxima vez que presione, ingresará su nombre de usuario y contraseña como de costumbre, pero se guardarán en las credenciales de Windows. No tendrá que ingresarlos nuevamente, después de eso.
Al igual que en Push to GitHub sin ingresar el nombre de usuario y la contraseña cada vez (Git Bash en Windows) .
fuente
git
cambiará su comportamiento de acuerdo con el conjunto de directivas de configuración.Prefiero no tener que escribir mi frase de contraseña SSH al abrir nuevas terminales; desafortunadamente, la solución de starmonkey requiere que se ingrese la contraseña para cada sesión. En cambio, tengo esto en mi
.bash_profile
archivo:Esto también recordará mi frase de contraseña para nuevas sesiones de terminal; Solo tengo que escribirlo una vez cuando abro mi primer terminal después de arrancar.
Me gustaría dar crédito a donde obtuve esto; Es una modificación del trabajo de otra persona, pero no recuerdo de dónde vino. Gracias autor anónimo!
Actualización 2019-07-01: No creo que todo esto sea necesario. Ahora siempre tengo esto funcionando asegurándome de que mi
.bash_profile
archivo ejecuta el agente ssh:Luego configuré un
ssh
archivo de configuración como este:fuente
Si entiendo la pregunta correctamente, ¿ya está utilizando una clave SSH autorizada en el servicio de compilación, pero desea evitar tener que escribir la frase de contraseña para cada clon?
Puedo pensar en dos formas de hacer esto:
Si su servicio de compilación se inicia de forma interactiva: antes de iniciar el servicio de compilación, comience
ssh-agent
con un tiempo de espera (-t
opción) suficientemente largo . Luego usessh-add
(msysGit debería tener esos) para agregar todas las claves privadas que necesita antes de comenzar su servicio de compilación. Aún tendría que escribir todas las frases de contraseña, pero solo una vez por inicio de servicio.Si desea evitar tener que escribir las frases de contraseña, siempre puede eliminarlas de las claves SSH, como se describe en /server/50775/how-do-i-change-my- frase de contraseña de clave privada , estableciendo una nueva frase de contraseña vacía. Esto debería eliminar por completo la solicitud de contraseña, pero es aún menos segura que la opción anterior.
fuente
Cuando intenté insertar mi código, recibí el siguiente error:
Después de algunas horas de investigación, descubrí que necesito usar el siguiente comando:
Después de ejecutar el comando anterior, recibí el mensaje para ingresar mi nombre de usuario y contraseña de GitHub. Después de proporcionar las credenciales correctas, puedo insertar mi código.
fuente
La solución correcta es:
Ejecute el terminal predeterminado de Windows - cmd y obtenga el directorio de su perfil maestro
Ejecute Git Bash en el directorio anterior y cree el
.bashrc
archivo con el comandoAbra el
.bashrc
archivo con su editor de texto favorito y pegue el código de la Ayuda de GitHub en ese archivo:Reinicie Git Bash y le pedirá su contraseña (solo la primera vez) y listo. No hay contraseña molestando de nuevo.
fuente
Debe crear el
authorized_keys
archivo en la.ssh
carpeta del usuario con el que se va a conectar al servidor del repositorio. Por ejemplo, suponiendo que use el nombrebuildservice
de usuariorepo.server
, puede ejecutar:Luego debe verificar lo siguiente:
Esa
id_rsa
clave privada correspondiente se presenta en[email protected]:~/.shh/id_rsa
.Esa huella digital de repo.server se almacena en el
[email protected]:~/.ssh/known_hosts
archivo. Por lo general, eso se hará después del primer intento dessh
conectarse arepo.server
.fuente
cat id_rsa.pub > .ssh/authorized_keys
sobrescribirá cualquier clave autorizada existente. Utilizar>>
para agregar en lugar de sobrescribir.