Możesz utworzyć sekcję uwierzytelniania w swoim pliku .hgrc
lub Mercurial.ini
pliku, na przykład:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
Część „bb” jest dowolnym identyfikatorem i służy do dopasowania prefiksu z nazwą użytkownika i hasłem - przydatna do zarządzania różnymi kombinacjami nazwy użytkownika / hasła w różnych witrynach (prefiks)
Możesz także podać tylko nazwę użytkownika, a następnie będziesz musiał wpisać hasło po naciśnięciu.
Poleciłbym również rzucić okiem na rozszerzenie kluczy . Ponieważ przechowuje hasło w breloku systemowym zamiast w zwykłym pliku tekstowym, jest bardziej bezpieczne. Jest on zawarty w pakiecie z TortoiseHg w systemie Windows, a obecnie dyskutuje się na temat rozpowszechniania go jako pakietu na wszystkich platformach.
Można to zrobić na trzy sposoby: użyj pliku .hgrc, użyj ssh lub użyj rozszerzenia kluczy
1. Sposób BEZPIECZEŃSTWA - zaktualizuj plik ~ / .hgrc
Format, który działa dla mnie (w moim pliku ~ / .hgrc) jest następujący
Możesz skonfigurować dowolną liczbę repozytoriów, dodając więcej trojaczków prefiksu, nazwy użytkownika i hasła, przygotowując unikalny tag.
Działa to tylko w Mercurial 1.3 i oczywiście twoja nazwa użytkownika i hasło są w postaci zwykłego tekstu - niezbyt dobrze.
2. Bezpieczny sposób - użyj SSH, aby UNIKAĆ za pomocą haseł
Mercurial w pełni obsługuje SSH, dzięki czemu możemy skorzystać ze zdolności SSH do zalogowania się na serwerze bez hasła - wykonujesz jednorazową konfigurację, aby zapewnić certyfikat wygenerowany przez siebie. Jest to zdecydowanie najbezpieczniejszy sposób na robienie tego, co chcesz.
Więcej informacji na temat konfigurowania logowania bez hasła można znaleźć tutaj
3. Rozszerzenie breloka
Jeśli chcesz bezpieczną opcję, ale nie znasz SSH, dlaczego nie spróbować?
Z dokumentów ...
Bardziej szczegółowe informacje tutaj
źródło
Nikt nie wspomniał o przedłużeniu kluczy. Zapisze nazwę użytkownika i hasło w systemowym kluczyku, co jest znacznie bezpieczniejsze niż przechowywanie haseł w pliku statycznym, jak wspomniano powyżej. Wykonaj poniższe czynności i powinieneś być gotowy. Uruchomiłem to na Ubuntu w około 2 minuty.
https://www.mercurial-scm.org/wiki/KeyringExtension
źródło
Prostym włamaniem jest dodanie nazwy użytkownika i hasła do adresu URL wypychania w
.hg/hgrc
pliku projektu :(Pamiętaj, że w ten sposób przechowujesz hasło w postaci zwykłego tekstu)
Jeśli pracujesz nad kilkoma projektami w tej samej domenie, możesz dodać regułę przepisywania w swoim
~/.hgrc
pliku, aby uniknąć powtarzania tego dla wszystkich projektów:Ponownie, ponieważ hasło jest przechowywane jako zwykły tekst, zwykle przechowuję tylko moją nazwę użytkownika.
Jeśli pracujesz pod Gnome, wyjaśniam tutaj, jak zintegrować Mercurial i Gnome Keyring:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
źródło
Nikt powyżej wyjaśnił / wyjaśnił warunki początkującemu użytkownikowi. Są zdezorientowani warunkami
.hg / hgrc - ten plik służy do repozytorium w lokalizacji lokalnej / w obszarze roboczym / w folderze .hg rzeczywistego repozytorium.
~ / .hgrc - ten plik jest inny niż poniższy. ten plik znajduje się w ~ lub katalogu domowym.
myremote.xxxx = ..... bb.xxxx = ......
Jest to jedna z linii w sekcji [auth] sekcja / dyrektywa, przy użyciu rozszerzenia mercurial keyring. Upewnij się, że nazwa serwera, którą tam umieściłeś, pasuje do tego, czego używasz podczas wykonywania „klonowania hg”, w przeciwnym razie brelok powie: użytkownik nie został znaleziony. bb lub myremote w poniższym wierszu to „nazwa aliasu”, którą MUSISZ podać podczas wykonywania „hg clone http: /.../../ repo1 bb lub myremote”, inaczej nie zadziała lub musisz upewnić się, że Twój lokalny plik .hg / hgrc repozytorium zawiera ten sam alias, tzn. (co podałeś podczas klonowania hg .. jako ostatni parametr).
PS poniższe linki dla jasnych szczegółów, przepraszam za szybko napisaną gramatykę.
np .: jeśli wewnątrz ~ / .hgrc (katalog domowy użytkownika w Linux / Unix) lub mercurial.ini w Windows w katalogu osobistym użytkownika, zawiera następujący wiersz i jeśli tak
, nigdy nie będziesz monitowany o podanie poświadczeń użytkownika więcej niż raz na link do repozytorium http. W ~ / .hgrc w [rozszerzeniach] wiersz „mercurial_keyring =” lub „hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py” .. jedna z tych linii powinna tam być.
Próbuję dowiedzieć się, jak ustawić właściwość PREFIX, aby użytkownik mógł klonować lub wykonywać dowolne operacje Hg bez monitów o nazwę użytkownika / hasło i nie martwiąc się o to, o czym wspomniał w http: // .... / ... nazwa serwera podczas korzystania z linku repozytorium Hg. Może to być adres IP, nazwa serwera lub nazwa FQDN serwera
źródło
instalacja mercurial_keyring w Mac OSX przy użyciu MacPorts:
Dodaj następujące elementy do ~ / .hgrc:
źródło
Jeśli używasz TortoiseHg, musisz wykonać te trzy kroki pokazane na załączonym zrzucie ekranu, to doda twoje dane uwierzytelniające do konkretnego repozytorium, z którym pracujesz.
Aby dodać ustawienia globalne, możesz uzyskać dostęp do pliku C: \ users \ user.name \ mercurial.ini i dodać sekcję
Mam nadzieję że to pomoże.
źródło
Chociaż może, ale nie musi, działać w twojej sytuacji, uznałem, że przydatne jest generowanie klucza publicznego / prywatnego za pomocą Pageant Putty'ego.
Jeśli pracujesz również z bitbucket (.org), powinien on dać ci możliwość dostarczenia klucza publicznego do twojego konta użytkownika, a wtedy polecenia docierające do repozytorium zostaną zabezpieczone automatycznie.
Jeśli program Pageant nie uruchomi się po ponownym uruchomieniu, możesz dodać skrót do programu Pageant do „menu Start” systemu Windows, a skrót może wymagać wypełnienia „właściwości” lokalizacją pliku prywatnego (.ppk) .
Po wdrożeniu Mercurial i lokalne repozytoria będą musiały zostać skonfigurowane do push / pull w formacie SSH.
Oto kilka szczegółowych instrukcji na stronie Atlassian dla Windows OR Mac / Linux.
Nie musisz mi wierzyć na słowo i nie ma wątpliwości, że można to zrobić inaczej. Być może te kroki opisane tutaj są dla Ciebie bardziej:
źródło
Użyj rozszerzenia kluczy. Dodaj poniższy wpis do pliku mercurial.ini.
[rozszerzenia] mercurial_keyring =
źródło