¿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.