¿Es posible usar un archivo .netrc en Windows cuando estoy usando Git para clonar un repositorio remoto con http y usuario - contraseña?Git - Cómo usar el archivo .netrc en Windows para guardar el usuario y la contraseña
Respuesta
actualización April 2013, git 1.8.3:
Ahora puede utilizar un .netrc cifrado (con GPG).
En Windows: %HOME%/_netrc
(_
, no '.
')
Un new read-only credential helper (en
contrib/
) para interactuar con los archivos.netrc/.authinfo
se ha añadido.
Ese guión le permitiría a uso de archivos cifrados Netrc GPG-, evitando el problema de tener sus credenciales almacenadas en un archivo de texto plano.
Los archivos con la extensión
.gpg
serán descifrados por GPG antes del análisis.
Múltiples argumentos-f
están bien. Se procesan en orden y la primera entrada coincidente encontrada se devuelve mediante el protocolo de credencial auxiliar.Cuando se da ninguna opción
-f
,.authinfo.gpg
,.netrc.gpg
,.authinfo
y.netrc
archivos en el directorio de inicio se utilizan en este orden.
Para activar esta ayuda de credenciales:
git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'
(. Tenga en cuenta que Git antepondrá "
git-credential-
" al nombre del ayudante y buscarlo en el camino)
# and if you want lots of debugging info:
git config credential.helper '$shortname -f AUTHFILE -d'
#or to see the files opened and data found:
git config credential.helper '$shortname -f AUTHFILE -v'
Vea un ejemplo completo en "Is there a way to skip password typing when using https:// github
"
actualización a finales de 2012, con versión git 1.7.9+: This answer de Mark Longair Detalles del credential cache mechanism que le permite no guardar la contraseña en texto plano, como se muestra a continuación.
(Respuesta original)
Debe definir:
- variable de entorno
%HOME%
- poner un archivo
_netrc
en%HOME%
Si está utilizando Windows 7
ejecutar el tipo cmd esto:
setx HOME %USERPROFILE%
y el% HOME% se establece en 'C:\Users\"username"
'
luego ir a ella y hacer un archivo llamado '_netrc
'
Nota: para Windows, necesita un archivo '_netrc
', no un '.netrc
'.
Su contenido es bastante estándar (Sustituir el con sus valores):
machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>
Luke menciones en los comentarios:
Con la última versión de msysgit en Windows 7, I no necesitó configurar la variable de entorno HOME. El archivo
_netrc
solo hizo el truco.
Esto es precisamente lo que he mencionado en "Trying to “install
” github, .ssh
dir not there ":
git-cmd.bat
incluido en msysgit no establecer la variable de entorno HOME%%:
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
爱国者 cree en los comentarios que" parece que no funcionará para el protocolo http "
Sin embargo, respondí que netrc es utilizado por curl, y funciona para el protocolo http, como sho wn en this example (busque 'netrc' en la página):. También se usa con el protocolo http aquí: "_netrc
/.netrc
alternative to cURL
".
Una trampa común con con el apoyo netrc en Windows es que git pasará por alto usarlo si una URL https origen especifica un nombre de usuario.
Por ejemplo, si el archivo de .git/config
contiene:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://[email protected]/p/my-project/
Git no resolverá sus credenciales a través de _netrc
, para solucionar este quitar su nombre de usuario, así:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://code.google.com/p/my-project/
También puede instalar Git Credential Manager for Windows para guardar contraseñas de Git en el administrador de credenciales de Windows en lugar de netrc. Esta es una forma más segura para almacenar la contraseña
Gran respuesta, esta es la única respuesta que he encontrado que me permite mantener la simplicidad de nombre de usuario/contraseña (de forma segura) sin tener que lidiar con toda esa basura de SSH. –
@KirkWoll vea la respuesta de mi actualización anterior: ahora puede almacenar sus credenciales en un archivo '.netrc' encriptado. No tendrá que ingresar esas credenciales ni siquiera una vez durante la sesión. – VonC
Esto le permitirá autenticar git en https utilizando .netrc
- El archivo debe ser nombrado
_netrc
y ubicado enc:\Users\<username>
- Usted tendrá que establecer una variable de entorno llamado
HOME=%USERPROFILE%
(Configure las variables de entorno de todo el sistema usando la opción Sistema en el panel de control. Dependiendo de la versión de Windows, puede necesitar seleccionar "Opciones avanzadas") - La contraseña almacenada en el archivo
_netrc
no puede contener espacios (quo r la contraseña no funcionará)
La mejor y más simple solución. Funcionó como un encanto con Android Studio, Source Tree y la línea de comandos de Git. Tuve que usar esto cuando Google recomendaba la opción de credencial de Cloud SDK. La opción de asistencia falló y tuve que generar credenciales manualmente y utilizarla con el archivo de red. En mi caso, no requirí la opción 2 y 3. – Hari
Publica una manera _netrc
usar para descargar materiales del sitio www.course.com.I'd espero alguna ayuda para usted.
Si alguien va a utilizar el coursera-dl para descargar los materiales de clase abierta en www.coursera.com. y en sistemas operativos Windows alguien quiere usar un archivo como ".netrc", que se encuentran en perfectas sistema operativo Unix para agregar la opción -n en lugar de -U -P para convenience.He puede hacer así:
compruebe la ruta principal en el sistema operativo Windows:
setx HOME %USERPROFILE%
(refer: VonC 's answer). GuardaráHOME
comoC:\Users\"username"
.localizar en el directorio
C:\Users\"username"
y crear un nombre de archivo_netrc
. NOTA: NO hay ningún sufijo. el contenido es como:machine coursera-dl login <user> password <pass>
comando use como
coursera-dl -n --path PATH <course name>
para descargar los materiales de clase. más detalles de las opciones de coursera-dl para this page.
_netrc se debe crear en Windows, no .netrc. Puede ser almacenado en "C: \ Users \" nombre de usuario"
Tener un vistazo a http://nick.txtcc.com/index.php/other/983 que le da un detalle completo
- 1. cómo usar el nombre de usuario y la contraseña suministrados para leer un archivo en Java
- 2. netrc no aceptado por git
- 3. configurando usuario y contraseña con git bash
- 4. ¿Es seguro guardar el nombre de usuario/contraseña de MySQL en el archivo php.ini?
- 5. Android: ¿dónde deberíamos guardar el nombre de usuario y la contraseña en la memoria del dispositivo?
- 6. Verificar el nombre de usuario y la contraseña de la cuenta de Windows
- 7. ¿Está bien guardar la sal del usuario en la misma tabla que el hash de contraseña?
- 8. ¿Cómo configuro el nombre de usuario y la contraseña de la aplicación Tomcat Manager para NetBeans?
- 9. HttpListener: cómo obtener el usuario y la contraseña de http?
- 10. Git sigue pidiendo la contraseña
- 11. Quitar el nombre de usuario SVN y la contraseña de Eclipse no funciona en Windows 7
- 12. Idea: ¿Crear usuario sin contraseña y luego requerir contraseña para usar la cuenta?
- 13. Cómo guardar de forma segura el nombre de usuario/contraseña (local)?
- 14. Cómo almacenar mejor la información de usuario y el nombre de usuario y la contraseña
- 15. Python - Cómo abrir Windows comparte usando el nombre de usuario y la contraseña
- 16. NSUserDefaults o llavero es mejor para guardar el nombre de usuario y la contraseña en la aplicación de iPhone
- 17. Comprobando el nombre de usuario y la contraseña en Android
- 18. Ejecute mstsc.exe con el nombre de usuario y la contraseña especificados
- 19. ¿Cómo incluir el nombre de usuario y la contraseña de proxy para el proxy?
- 20. Cómo guardar PictureBox.Image en el archivo?
- 21. ¿Corregir la ubicación para guardar un archivo temporal en Windows?
- 22. Cómo usar HttpWebRequest para descargar el archivo
- 23. Guardar el correo electrónico/contraseña de Keychain en iOS
- 24. Git en Windows y atributos de archivo
- 25. Cómo almacenar la configuración del usuario (nombre de usuario, contraseña) en una aplicación de Windows para el usuario que inició sesión actualmente
- 26. Git (1.7.10) me pregunta cada vez que el nombre de usuario y contraseña
- 27. Cómo encontrar el nombre de usuario y la contraseña para la base de datos mysql
- 28. Java: cifrar/descifrar el nombre de usuario y la contraseña de un archivo de configuración
- 29. Diseñar olvidado la contraseña para el usuario conectado
- 30. Obteniendo el nombre de usuario/contraseña del usuario conectado en Windows
bien, va a darle una oportunidad Gracias –
@Bernd:...! El' La variable de entorno HOME' es importante, porque no está definida por defecto en Windows. Puede establecer esa variable en el directorio que desee (no tiene que ser 'C: \ users \ mylogin'): por ejemplo, en trabajo, lo configuré en mi disco remoto privado asociado con mi cuenta de Windows, lo que me permite cambiar de escritorio sin tener que perder mi configuración '.ssh' o' _netrc'. – VonC
@Bernd: compruebe también si su repositorio de Git está en una Servidor LAN o WAN (internet). Puede necesitar definir un 'http.proxy' en las variables de su entorno o, por el contrario, agregar su servidor a una variante' no_proxy' ble, para evitar intentar acceder a un servidor LAN a través de WAN. – VonC