Memorizza password in TortoiseHg


200

C'è un modo per configurare TortoiseHg per memorizzare la mia password?

Ho un progetto ospitato su Google Code a cui accedo usando TortoiseHg. Ogni volta che voglio inviare modifiche a Google Code TortoiseHg mi richiede un nome utente e una password. Google Code mi richiede di utilizzare una password generata automaticamente e diventa sempre ripetitivo cercarla ogni volta.

Risposte:


70

Avviso di sicurezza

Anche se questa risposta è stata accettata a partire dal 2017/09/15, è non è una soluzione consigliata. Non devi mai archiviare le tue password in testo semplice. Utilizzare mercurial_keyringinvece l' estensione. Vedi un'altra risposta qui.


Puoi modificare l'URL push in https: // username: password@hostname.com/repo .

Questo è spiegato nelle FAQ di Google Code e Mercurial .

EDIT: Mercurial FAQ spiega un altro modo per farlo:

Con Mercurial 1.3 puoi anche aggiungere una sezione auth al tuo file hgrc:
[Auth]
example.prefix = https://hg.example.net/
esempio.username = pippo
esempio.password = bar

51
Questa è una cattiva risposta! Non devi mai archiviare le password in chiaro in QUALSIASI file ... !! L'altra opzione (con più voti) utilizzando mercurial_keyring è l'unica cosa giusta da fare!
Lars Corneliussen,

6
+1. Considerando che hg pushnon è distruttivo (è sempre possibile modificare hg striple modifiche indesiderate), passare a un repository remoto non è un'operazione altamente privilegiata. Per tale motivo, l'archiviazione della password in chiaro è spesso perfettamente sufficiente, purché si sia consapevoli delle implicazioni di sicurezza.
Søren Løvborg,

4
Il problema non è che qualcuno può irrimediabilmente corrompere il repository. I problemi sono: (1) le persone riutilizzano le password, quindi una volta che qualcuno riesce a raggiungere questo file di testo, sarà in grado di accedere a risorse non correlate; (2) gli hack arbitrari possono essere introdotti di nascosto nel codice sorgente ... (3) il codice può essere segreto (non tutto lo sviluppo è open source), e averlo rubato non è sempre divertente.
max

6
@max 1) Forse è vero in teoria, ma OP ha affermato specificamente che sta usando una password generata automaticamente 2) il controllo della versione lo interrompe, puoi vedere tutte le modifiche che sono state registrate, come potrebbe essere un problema? 3) se qualcuno ha accesso a password in chiaro memorizzate sul tuo computer, ha anche accesso al tuo codice. La password non ha senso qui perché possono semplicemente scaricare il codice su un dongle.
goldenratio,

4
@LarsCorneliussen Questa non è una cattiva risposta. Non tutti i casi d'uso richiedono quel livello di sicurezza. L'estensione portachiavi è un'opzione, così come è.
Cypher,

265

Entrambe le risposte esistenti suggeriscono di memorizzare il nome utente e la password non crittografati in testo semplice , il che è un po 'no-no.

Dovresti invece utilizzare l' estensione Keyring , poiché è stata appositamente progettata per il salvataggio sicuro delle password di autenticazione. Viene già fornito in bundle con TortoiseHg , quindi tutto ciò che devi fare è attivarlo scrivendo quanto segue nel tuo file mercurial.ini :

[extensions]
mercurial_keyring=

Dovrai inoltre associare il tuo nome utente all'URL push modificando il file .hg \ hgrc specifico del repository come nell'esempio seguente:

[paths]
default = https://<your_username>@bitbucket.org/tortoisehg/thg

Per ulteriori dettagli sull'associazione del nome utente all'URL, consultare la sezione Configurazione repository (SMTP) della pagina dell'estensione del keyring .


2
Ho appena provato questa soluzione e ha funzionato benissimo con Windows 7. Molto bello! Grazie!
mateuscb,

funziona bene per me - ma penso che sia necessario includere anche un nome utente, sotto un'intestazione [auth], o modificare il percorso del repository come nomeutente @ host (come da link Keyring sopra)
Tom Carver

1
Buona risposta, sicuramente la strada da percorrere.
Vobject

Che ne dici di salvare il nome utente e la password se sei dietro un proxy web?
Seth,

3
Il modo corretto sarebbe usare la sezione auth per configurare il nome utente. Non dovresti avere informazioni di autenticazione nel tuo percorso repo ad esempio[auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar
schlamar,

150

Tre passaggi, guarda lo screenshot . Nota: questo memorizza la password in testo semplice.

inserisci qui la descrizione dell'immagine


37
sembra che questo memorizzi anche la password in chiaro - se hai abilitato l'estensione del portachiavi, il campo password viene disabilitato
Vlad Iliescu

5
Funziona solo se si utilizza il protocollo HTTPS, quando si imposta su http il lucchetto scompare.
Despertar,

Risposte legacy accettate fanno schifo, questo dovrebbe avere il verde sfacciato!
William T. Mallard,


2

Basta modificare il hgrcfile nella .hgdirectory del repository locale in modo che sia simile al seguente:

[paths]
default = https://name:password@yourproj.googlecode.com/hg/

dove name è il tuo codice di accesso a Google senza il bit di gmail / googlemail, ad esempio "fredb" (non fredb@gmail.com), password è la password generata da Google e yourproj è il nome del tuo progetto GC. Quindi qualcosa come:

default = https://fred:xyz123@fredproj.googlecode.com/hg/

11
Non archiviare mai le password in testo semplice. MAI! Usa mercurial_keyring - TortoiseHG quindi chiede la password una sola volta.
Lars Corneliussen,

1
Mai dire mai :) Sì, la chiave SSH è preferibile al portachiavi, il portachiavi è preferibile al testo normale, ma in realtà ci sono diverse situazioni. PS ha votato sia la risposta "portachiavi" che questa.
Alex Shesterov

0

Questo funziona per me usando SSH. So che la password è in chiaro, ma questo non è un problema in questo progetto. Devi cambiare myUser e MyOPas per le tue credenziali e il percorso per: TortoisePlink.exe. Modifica mercurial.ini

[reviewboard]
password = myPass
[ui]
username = myUser
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw  myPass

0

Se si desidera memorizzare la password in mercurial.ini e non funziona più dopo l'aggiornamento a TortoiseHg 4.9 o versione successiva, una possibile soluzione è aggiungere la porta al prefisso:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.