¿Cómo deshabilito las solicitudes de contraseña cuando hago git push / pull?


35

Cada vez que quiero pushy / o pulldesde el terminal (en Linux) tengo que ingresar una contraseña. ¿Cómo elimino esto para que tire y / o empuje sin la contraseña?


55
¿Cuál es el protocolo utilizado por su dirección de repositorio? ssh? https?
VonC

Respuestas:


23

Genere un par de claves privada / pública para la autenticación sin contraseña.

Para Linux, sus claves se almacenan en ~/.ssh.

Si ya tiene archivos con ~/.sshese nombre id_rsay id_rsa.pub, entonces ya tiene un par de claves. Agregue el contenido de su clave pública (es decir id_rsa.pub) al archivo ~ / .ssh / Authorizedkeke del repositorio de Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Si no tiene el par de claves, genere uno con

$ ssh-keygen -t rsa

Lea esto para obtener más instrucciones: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck Ah, ¡no pensé en eso! Sin embargo, será bueno saber qué sistema operativo utiliza Whirlwin antes de publicar más instrucciones.
Jin

Gracias por el puntero. ¡He actualizado la pregunta en consecuencia!
whirlwin

1
Cuando ejecuto el primer comando obtengo un: Parece que estás usando ssh para clonar un git: // URL. Asegúrese de que su opción de configuración core.gitProxy y la variable de entorno GIT_PROXY_COMMAND NO estén establecidas. conexión perdida
MultiformeIngegno

26

correr

git config credential.helper store

Esto almacenará sus credenciales en una carpeta dentro de la raíz. Debe ejecutar git pull / push después de este comando y dar el nombre de usuario / pwd por primera vez. Publique esto, no solicitará al usuario / pwd. Detalles en https://git-scm.com/docs/git-credential-store


44
Esto debe seleccionarse como la respuesta correcta para esta pregunta. En mi opinión, el OP quería preguntar sobre una solución para httpsevitar tener que ingresar nombre de usuario / contraseña una y otra vez, no cambiar a la sshsolución. 1+ para esta respuesta.
Giang Nguyen el

1
Tenga en cuenta que la ayuda de almacenamiento de credenciales almacena la contraseña en el disco sin cifrar.
0xc0de

6

También puede cambiar su frase de contraseña y reemplazarla por una cadena vacía:
ssh-keygen -p


3
¿No está esto muy mal? ya que no habrá más seguridad
titus

3
Gracias. Esta es la solución para las personas que tienen una configuración de clave SSH pero no están seguros de por qué todavía necesitan ingresar una frase de contraseña.
Cory Danielson

El uso de un agente ssh es la alternativa más segura a esto. superuser.com/questions/426749/ssh-agent-and-ssh-add
Jay R. Wren

1

Creé una nueva sucursal y después de eso, cuando tiré, tuve que ingresar el nombre de usuario y la contraseña. Luego resuelvo el problema volviendo a clonar la rama con la dirección ssh (que se encuentra en el sitio del repositorio relevante).

Por ejemplo:

git clone git@github.com:sshare/GLE.git
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.