Actualmente, siempre que yo git pull
o git push
en un repositorio http (s), obtengo lo siguiente:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
Esto está bien para un uso poco frecuente, pero comienza a volverse realmente molesto muy rápidamente. Desafortunadamente, cambiar a ssh no es una opción en este caso.
He leído que las versiones anteriores de git
proporcionaban una credencial "almacenar" y "caché", pero que esto no se aconsejaba porque almacenaba la contraseña en texto sin formato.
PERO
Las versiones más recientes de git
aparentemente almacenan las credenciales de git en el gnome-keyring
, pero deben configurarse correctamente.
Intenté seguir otras respuestas (que no son de Ubuntu) en SO para que esto funcione (es decir, esta ), pero aún me aparece el mensaje de nombre de usuario y contraseña.
¿Cuál es la forma correcta y más segura de almacenar git
credenciales para repositorios http (s) y cómo hace que funcionen en Ubuntu?
fuente
Respuestas:
gnome-credential-helper
ahora está en desuso.En su lugar, use libsecret. Si aún no está incorporado en su ubuntu, utilice el siguiente procedimiento:
Puede instalar
libsecret
y desarrollar las bibliotecas con:sudo apt-get install libsecret-1-0 libsecret-1-dev
Entonces necesita construir el administrador de credenciales
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Finalmente, debe apuntar git al archivo recién creado en su configuración:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Más detalles en https://stackoverflow.com/a/40312117/2017781
fuente
Necesitas configurar el git
credential helper
con Gnome Keyring:Instale y compile el desarrollo Gyrome Keyring:
Y configure la credencial:
fuente
git push
ogit pull
como de costumbre y la primera vez le preguntará a ansd store, y cada vez que lo obtenga lo obtendrá del llavero. Para verificarlo, ejecuteseahorse
. Debe aparecer en "Contraseñas" -> "Iniciar sesión".Este enfoque simple parece ser suficiente en mi Ubuntu 18.04.1 con git 2.17.1:
Puede especificar un tiempo de espera de una hora (= 3600 segundos) como este:
Lectura adicional en el excelente manual .
fuente