Subí mi ~/.ssh/id_rsa.pub
a las claves SSH de Bitbucket como se explicó , pero Git todavía me pide mi contraseña en cada operación (como git pull
). ¿Me he perdido algo?
Es un repositorio privado (tenedor del repositorio privado de otra persona) y lo cloné así:
git clone [email protected]:Nicolas_Raoul/therepo.git
Aquí está mi local .git/config
:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/Nicolas_Raoul/therepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
En el mismo entorno con la misma clave pública, Git en Github funciona bien.
.ssh
es rwx------
, .ssh/id_rsa
es -rw-------
, .ssh/id_rsa.pub
es-rw-r--r--
.git/config
con[email protected]:Nicolas_Raoul/therepo.git
y ahora funciona.ssh://[email protected]/userName/repoName.git
- sinssh://
prefijo no funcionó.Como se explica aquí , si clona con URL de SSH , no necesita ingresar nombre de usuario / contraseña cada vez que presiona / tira. Verifique la respuesta anterior por @manojlds
Pero si desea clonar con HTTPS y desea evitar ingresar el nombre de usuario / contraseña cada vez, puede almacenar las credenciales en la memoria caché con el siguiente comando:
git config --global credential.helper 'cache --timeout 3600'
donde 3600 (segundos) significa 1 hora, puede cambiarlo según sus necesidades.
fuente
manecs-MBP:LocationTracker manec$ git remote -v origin https://[email protected]/Vysh1/locationtracker.git (fetch) origin https://[email protected]/Vysh1/locationtracker.git (push)
Ya ha respondido anteriormente. Resumiré los pasos para verificar arriba.
ejecutar
git remote -v
en el proyecto dir. Si la salida muestra una URL remota que comienza conhttps://abc
, es posible que necesite una contraseña de nombre de usuario cada vez.Entonces, para cambiar la url remota, ejecute
git remote set-url origin {ssh remote url address starts with mostly [email protected]:}
.Ahora ejecute
git remote -v
para verificar la URL remota modificada.Consulte: https://help.github.com/articles/changing-a-remote-s-url/
fuente
Hola, Googlers del futuro.
En MacOS> = High Sierra, la clave SSH ya no se guarda en KeyChain por motivos .
El uso
ssh-add -K
ya no sobrevive se reinicia también.Aquí hay 3 posibles soluciones .
He usado el primer método con éxito. He creado un archivo llamado
config
en~/.ssh
:fuente
config
archivo/.ssh
funciona perfectamente!cd ~/.ssh
+ls
+nano config
(el archivo ya estaba creado) + agregar código en la respuesta de Vaiden. Luego controle X + Y para guardar el archivo.En el caso de solicitud HTTP, también es posible y alternativamente pegar las credenciales (con contraseña) directamente en la url:
Esto ahorrará el dolor de dar sus credenciales cada vez más. Simplemente modifique su .git / config (la url).
fuente
$%
777
: detener, pensar, investigar, comprender y luego hacerlo correctamente.Ninguna de estas respuestas me ayudó, resultó que mi problema era ligeramente diferente. Era ssh que pedía mi contraseña cada vez, antes de enviar la clave. Entonces, lo que tuve que hacer fue vincular mi contraseña con este comando:
Luego le pedirá su contraseña y la almacenará. Esta podría ser la solución que está buscando si cada vez que se le solicita una contraseña, dice
Más información aquí.
NOTA: Utilicé esto en mi máquina Mac con éxito, pero como señaló @Rob Kwasowski a continuación, la
K
opción de mayúsculas es exclusiva de Mac. Si no está en Mac, necesitará usar minúsculask
(que probablemente también funcione para Mac, pero no lo he probado).fuente
k
:ssh-add -k ~/.ssh/id_rsa
k
, no en mayúscula, ya que esas opciones distinguen entre mayúsculas y minúsculas.-K
es específico para Mac: help.github.com/en/articles/error-ssh-add-illegal-option----kPaso 1: Instale git-credential-winstore
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html
Paso 2: git config --global credential.helper 'cache --timeout 3600'
Esto almacenará su contraseña durante 1 hora
fuente
Step 1
es paraWindows
yStep 2
es paraLinux
pero lo olvidó mencionarlo correctamente.Lo siguiente supone el acceso a la línea de comandos a través de iTerm / Terminal a bitbucket.
Para MacOS Sierra 10.12.5, mi sistema manifestó un problema equivalente: solicitar mi frase de contraseña SSH en cada conexión a bitbucket.
El problema tiene que ver con las actualizaciones de OpenSSH en macOS 10.12.2, que se describen aquí en la Nota técnica TN2449 .
Es muy posible que desee adaptar su solución, pero lo siguiente funcionará cuando se agregue a su archivo ~ / .ssh / config:
Para obtener más información sobre las configuraciones de ssh, eche un vistazo a las páginas de manual de ssh_config:
Otra cosa: hay una buena escritura hasta el superusuario aquí que discute este problema y diferentes soluciones en función de sus necesidades y de configuración.
fuente
Cloné el repositorio con HTTPS URL en lugar de SSH URL, por lo tanto, incluso después de agregar la clave SSH, me estaba pidiendo una contraseña en Bash Shell.
Me acaba de editar el
./.git/config
archivo y cambia el valor de laurl
variable mediante la simple sustitución de lahttps://
dessh://
P.ej
Cambiado a:
fuente
Es posible que deba verificar dos veces su archivo de identidades SSH. Puede estar guiando a BitBucket para que busque una clave privada diferente / incorrecta a la clave pública equivalente que ha guardado en BitBucket.
Compruébalo con
tail ~/.ssh/config
- verás algo similar a:Recuerde que puede agregar identidades adicionales (como trabajo y hogar) con el
ssh-add
comando, por ejemplo:Una vez que haya confirmado qué clave privada se está examinando localmente, puede tomar su equivalente público, en este caso:
Y pegue esa cifra en BitBucket. Sus git push ahora (siempre que esté utilizando el clon SSH como se ha señalado en las respuestas) se permitirán sin contraseña, ya que su dispositivo es un amigable reconocido.
Esperemos que esto ayude a aclararlo para alguien.
fuente
Conmigo, aunque ejecuté 'git clone ssh: //[email protected]: 7999 / projName / projA.git' Todavía me pedían la contraseña para este nuevo repositorio que cloné, así que comparando su .git / config a otros repositorios que funcionan. Resultó ser la url en la sección ["origen" remoto], se configuró en la ruta ssh anterior para el nuevo repositorio, pero se configuró en https: xxx para el que funciona .
fuente
Estaba teniendo otras rarezas al iniciar sesión. Encontré algo que parecía totalmente tonto pero que funcionó en mi caso. Simplemente vaya al llavero de MacOS. Encuentra el icono de bloqueo de inicio de sesión en la barra lateral. Haga clic para cerrar sesión y luego haga clic para iniciar sesión. Suena tonto pero resolvió mis problemas. Vale la pena intentarlo.
fuente