Parolayı TortoiseHg'de sakla


200

TortoiseHg'yi şifremi saklayacak şekilde yapılandırmanın bir yolu var mı ?

TortoiseHg kullanarak eriştiğim Google Code'da barındırılan bir projem var . Google Code TortoiseHg'de değişiklik yapmak istediğimde benden bir kullanıcı adı ve şifre istiyor. Google Code, otomatik olarak oluşturulan bir şifre kullanmamı gerektiriyor ve her seferinde bakmak oldukça tekrarlanıyor.

Yanıtlar:


70

Güvenlik uyarısı

Bu cevap 2017-09-15 tarihi itibariyle kabul edilmiş olsa da, önerilen bir çözüm değildir . Parolalarınızı asla düz metin olarak saklamamalısınız. Kullanım mercurial_keyringyerine uzantısı. Burada başka bir cevaba bakınız .


Push URL'nizi https: // kullanıcı adı: password@hostname.com/repo olarak değiştirebilirsiniz .

Bu, Google Code ve Mercurial'ın SSS bölümlerinde açıklanmaktadır.

EDIT: Mercurial SSS bunu yapmanın başka bir yolunu açıklıyor:

Mercurial 1.3 ile hgrc dosyanıza bir kimlik doğrulama bölümü de ekleyebilirsiniz:
[Yetkilendirme]
example.prefix = https://hg.example.net/
example.username = foo
example.password = çubuk

51
Bu kötü bir cevap! Herhangi bir dosyada asla düz metin şifreleri saklamamalısınız ... !! Mercurial_keyring kullanarak diğer seçenek (daha fazla oyla) yapılacak tek doğru şey!
Lars Corneliussen

6
+1. Bunun hg pushtahribatsız olduğu düşünüldüğünde (her zaman hg stripistenmeyen değişiklik kümeleri yapabilirsiniz ), uzak bir depoya zorlamak son derece ayrıcalıklı bir işlem değildir. Bu nedenle, düz metin parola depolaması, güvenlik sonuçlarının farkında olduğu sürece genellikle mükemmel bir şekilde yeterlidir.
Søren Løvborg

4
Sorun, birisinin depoyu geri döndürülemez şekilde bozabileceği değil. Sorunlar şunlardır: (1) insanlar şifreleri yeniden kullanır, bu nedenle birisi bu metin dosyasına ulaşmayı başardığında, ilgisiz kaynaklara erişebilir; (2) keyfi kodlar kaynak koduna gizlenebilir ... (3) kod gizli olabilir (tüm geliştirme açık kaynak değildir) ve çalınması her zaman eğlenceli değildir.
fazla

6
@max 1) Teoride doğru olabilir, ancak OP özellikle otomatik olarak oluşturulan bir şifre kullandığını belirtti 2) sürüm kontrolü bunu durdurur, kontrol edilen tüm değişiklikleri görebilirsiniz, bu nasıl bir sorun olabilir? 3) Birisi bilgisayarınızda depolanan düz metin parolalara erişebiliyorsa, kodunuza da erişebilir. Burada şifre anlamsızdır, çünkü kodunuzu bir dongle'a dökebilirler.
goldenratio

4
@LarsCorneliussen Bu kötü bir cevap değil. Her kullanım durumu bu düzeyde bir güvenlik gerektirmez. Anahtarlık uzantısı, aynen olduğu gibi bir seçenektir.
Cypher

265

Her iki mevcut cevap da kullanıcı adınızı ve şifrenizi şifresiz olarak düz metin olarak saklamanızı önerir , bu da hayır-hayır.

Sen kullanmalıdır Anahtarlık o özellikle güvenli kimlik doğrulama şifreleri kaydetmek için tasarlanmıştır olarak yerine uzantısı. Zaten TortoiseHg ile birlikte gelir , bu yüzden tek yapmanız gereken mercurial.ini dosyanıza aşağıdakileri yazarak etkinleştirmektir :

[extensions]
mercurial_keyring=

Ayrıca, aşağıdaki örnekte olduğu gibi depoya özgü .hg \ hgrc dosyanızı düzenleyerek kullanıcı adınızı push url ile ilişkilendirmeniz gerekir :

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

Kullanıcı adınızı url ile ilişkilendirmeyle ilgili daha fazla bilgi için Anahtarlık uzantısı sayfasının Depo Yapılandırması (SMTP) bölümüne bakın.


2
Ben sadece bu çözümü denedim ve windows 7 ile harika çalıştı. Çok güzel! Teşekkürler!
mateuscb

benim için iyi çalışıyor - ancak aynı zamanda [auth] başlığı altında bir kullanıcı adı eklemeniz veya username @ host gibi depoya giden yolu değiştirmeniz gerekiyor (yukarıdaki Anahtarlık bağlantısına göre)
Tom Carver

1
İyi cevap, kesinlikle yol.
vobject

Bir web proxy'sinin arkasındaysanız kullanıcı adını ve şifreyi kaydetmeye ne dersiniz?
Seth

3
Doğru yol, kullanıcı adını yapılandırmak için kimlik doğrulama bölümünü kullanmaktır. Repo [auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar
yolunuzda

150

Üç adım, ekran görüntüsünü izleyin . Not: Bu, şifrenizi düz metin olarak saklar.

resim açıklamasını buraya girin


37
bunun şifreyi düz metin olarak da kaydettiği anlaşılıyor - anahtarlık uzantısını etkinleştirdiyseniz, şifre alanı devre dışı bırakılır
Vlad Iliescu

5
Sadece http için ayarlarken asma kilit kaybolur, https protokolü kullanıyorsanız çalışır.
Despertar

Kabul edilen eski cevaplar berbat, bu yeşil chekky olmalı!
William T. Mallard


2

Basitçe değiştirmek hgrcdosyayı .hgşu şekilde görünür böylece yerel veri havuzunun dizinine:

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

burada ad , gmail / googlemail biti olmadan Google Code girişinizdir, örneğin 'fredb' (fredb@gmail.com değil), şifre Google tarafından oluşturulan şifredir ve projeniz GC projenizin adıdır. Yani şöyle bir şey:

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

11
Parolaları asla düz metin olarak saklamayın. ASLA! Ardından mercurial_keyring - TortoiseHG şifresini yalnızca bir kez sorar.
Lars Corneliussen

1
Asla asla deme :) Evet, SSH anahtarı Anahtarlıktan daha tercih edilir, Anahtarlık düz metinden daha çok tercih edilir, ancak gerçekten farklı durumlar vardır. PS, hem "anahtarlık" cevabını hem de bunu cevapladı.
Alex Shesterov

0

Bu benim için çalışıyor SSH. Şifreyi metin düzünde biliyorum, ama bu projede bu bir sorun değil. Kimlik bilgileriniz için myUser ve MyOPas öğelerini ve TortoisePlink.exe yolunu değiştirmeniz gerekir. Mercurial.ini dosyasını düzenleyin

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

0

Parolayı mercurial.ini dosyasında saklamak istiyorsanız ve TortoiseHg 4.9 veya daha yüksek bir sürüme geçtikten sonra artık çalışmazsa, bağlantı noktasını önekinize eklemeniz olası bir çözümdür:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.