Vous pouvez créer une section d'authentification dans votre fichier .hgrc
ou Mercurial.ini
, comme ceci:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
La partie 'bb' est un identifiant arbitraire et est utilisée pour faire correspondre le préfixe avec le nom d'utilisateur et le mot de passe - pratique pour gérer différents combos nom d'utilisateur / mot de passe avec différents sites (préfixe)
Vous pouvez également spécifier uniquement le nom d'utilisateur, il vous suffira alors de taper votre mot de passe lorsque vous appuyez sur.
Je recommanderais également de jeter un œil à l' extension de porte - clés . Parce qu'il stocke le mot de passe dans le trousseau de clés de votre système au lieu d'un fichier texte brut, il est plus sécurisé. Il est fourni avec TortoiseHg sur Windows, et il est actuellement question de le distribuer en tant qu'extension fournie sur toutes les plates-formes.
Il y a trois façons de procéder: utilisez le fichier .hgrc, utilisez ssh ou utilisez l'extension de porte-clés
1. La méthode INSECURE - mettez à jour votre fichier ~ / .hgrc
Le format qui fonctionne pour moi (dans mon fichier ~ / .hgrc) est le suivant
Vous pouvez configurer autant de dépôts que vous le souhaitez en ajoutant plus de triplets de préfixe, nom d'utilisateur, mot de passe en ajoutant une balise unique.
Cela ne fonctionne que dans Mercurial 1.3 et évidemment votre nom d'utilisateur et votre mot de passe sont en texte brut - pas bon.
2. La manière sécurisée - Utilisez SSH pour ÉVITER en utilisant des mots de passe
Mercurial prend entièrement en charge SSH afin que nous puissions tirer parti de la capacité de SSH à se connecter à un serveur sans mot de passe - vous effectuez une configuration unique pour fournir un certificat auto-généré. C'est de loin le moyen le plus sûr de faire ce que vous voulez.
Vous pouvez trouver plus d'informations sur la configuration de la connexion sans mot de passe ici
3. L'extension de porte-clés
Si vous voulez une option sécurisée, mais que vous ne connaissez pas SSH, pourquoi ne pas l'essayer?
De la documentation ...
Il y a des informations plus détaillées ici
la source
Personne n'a mentionné l'extension de porte-clés. Il enregistrera le nom d'utilisateur et le mot de passe dans le trousseau de clés du système, ce qui est beaucoup plus sûr que de stocker vos mots de passe dans un fichier statique comme mentionné ci-dessus. Effectuez les étapes ci-dessous et vous devriez être prêt à partir. Je l'ai installé sur Ubuntu en environ 2 minutes.
https://www.mercurial-scm.org/wiki/KeyringExtension
la source
Un hack simple consiste à ajouter un nom d'utilisateur et un mot de passe à l'url push dans le
.hg/hgrc
fichier de votre projet :(Notez que de cette façon, vous stockez le mot de passe en texte brut)
Si vous travaillez sur plusieurs projets sous le même domaine, vous souhaiterez peut-être ajouter une règle de réécriture dans votre
~/.hgrc
fichier, pour éviter de répéter cela pour tous les projets:Encore une fois, puisque le mot de passe est stocké en texte brut, je ne stocke généralement que mon nom d'utilisateur.
Si vous travaillez sous Gnome, j'explique comment intégrer Mercurial et le trousseau de clés Gnome ici:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
la source
PERSONNE n'a expliqué ou clarifié les termes ci-dessus à un utilisateur novice. Ils sont confus par les termes
.hg / hgrc - ce fichier est utilisé pour le référentiel, à l'emplacement local / espace de travail / dans le dossier .hg du référentiel réel.
~ / .hgrc - ce fichier est différent de celui ci-dessous. ce fichier réside dans le répertoire ~ ou home.
myremote.xxxx = ..... bb.xxxx = ......
C'est l'une des lignes de la section / directive [auth], lors de l'utilisation de l'extension de porte-clés mercurial. Assurez-vous que le nom du serveur que vous y mettez correspond à ce que vous utilisez en faisant "hg clone" sinon le trousseau de clés dira, utilisateur non trouvé. bb ou myremote dans la ligne ci-dessous, sont des "noms d'alias" que vous DEVEZ donner en faisant "hg clone http: /.../../ repo1 bb ou myremote" sinon, cela ne fonctionnera pas ou vous devrez vous assurer que votre local Le fichier .hg / hgrc du référentiel contient le même alias, c'est-à-dire (ce que vous avez donné en faisant clone hg .. comme dernier paramètre).
PS les liens suivants pour des détails clairs, désolé pour la grammaire écrite rapidement.
ex: si à l'intérieur de ~ / .hgrc (répertoire personnel de l'utilisateur sous Linux / Unix) ou mercurial.ini dans Windows dans le répertoire personnel de l'utilisateur, contient, la ligne suivante et si vous le faites
, vous ne serez jamais invité à entrer les informations d'identification de l'utilisateur plus d'une fois par lien de mise en pension http. Dans ~ / .hgrc sous [extensions] une ligne pour "mercurial_keyring =" ou "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. une de ces lignes devrait être là.
J'essaie de savoir comment définir la propriété PREFIX pour que l'utilisateur puisse cloner ou effectuer des opérations Hg sans invites de nom d'utilisateur / mot de passe et sans se soucier de ce qu'il a mentionné dans le http: // .... / ... pour nom_serveur lors de l'utilisation du lien repo Hg. Il peut s'agir de l'IP, du nom de serveur ou du nom de domaine complet du serveur
la source
Installation de mercurial_keyring sur Mac OSX à l'aide de MacPorts:
Ajoutez ce qui suit à ~ / .hgrc:
la source
Si vous utilisez TortoiseHg, vous devez effectuer ces trois étapes indiquées dans la capture d'écran ci-jointe, cela ajouterait vos informations d'identification pour le référentiel spécifique avec lequel vous travaillez.
Pour ajouter des paramètres globaux, vous pouvez accéder au fichier C: \ users \ user.name \ mercurial.ini et ajouter la section
J'espère que cela t'aides.
la source
Bien que cela puisse fonctionner ou non dans votre situation, j'ai trouvé utile de générer une clé publique / privée à l'aide de Putty's Pageant.
Si vous travaillez également avec bitbucket (.org), cela devrait vous donner la possibilité de fournir une clé publique à votre compte d'utilisateur, puis les commandes qui atteindront le référentiel seront automatiquement sécurisées.
Si Pageant ne démarre pas pour vous lors d'un redémarrage, vous pouvez ajouter un raccourci vers Pageant dans votre "menu Démarrer" de Windows et le raccourci devra peut-être avoir des "propriétés" renseignées avec l'emplacement de votre fichier privé (.ppk) .
Avec cela en place, Mercurial et vos référentiels locaux devront être configurés pour pousser / tirer en utilisant le format SSH.
Voici quelques instructions détaillées sur le site d' Atlassian pour Windows OU Mac / Linux.
Vous n'avez pas à me croire sur parole et il existe sans aucun doute d'autres façons de le faire. Peut-être que ces étapes décrites ici sont plus pour vous:
la source
Utilisez l'extension de porte-clés. Ajoutez l'entrée ci-dessous au fichier mercurial.ini.
[extensions] mercurial_keyring =
la source