2010-01-04 25 views
189

Có cách nào để định cấu hình TortoiseHg để lưu trữ mật khẩu của tôi không?Mật khẩu cửa hàng trong TortoiseHg

Tôi có một dự án được lưu trữ trên Google Code mà tôi truy cập bằng TortoiseHg. Bất cứ khi nào tôi muốn đẩy các thay đổi vào Google Code TortoiseHg sẽ nhắc tôi về tên người dùng và mật khẩu. Google Code yêu cầu tôi sử dụng mật khẩu được tạo tự động và mật khẩu này lặp lại khá nhiều lần.

Trả lời

71

cảnh báo an ninh

Mặc dù câu trả lời này được chấp nhận như của 2017/09/15, nó là không một giải pháp khuyến khích. Bạn không nên lưu trữ mật khẩu của mình ở dạng văn bản thuần túy. Thay vào đó hãy sử dụng tiện ích mở rộng mercurial_keyring. Xem another answer tại đây.


Bạn có thể thay đổi URL đẩy thành https://username:[email protected]/repo.

Điều này được giải thích trong các câu hỏi thường gặp trong Google Code'sMercurial's.

EDIT: Mercurial FAQ giải thích một cách khác để làm điều đó:

Với Mercurial 1.3 bạn cũng có thể thêm một phần auth đến file HGRC của bạn:
 
[auth] 
example.prefix = https://hg.example.net/ 
example.username = foo 
example.password = bar 
+0

Tôi nên biết nó sẽ là Câu hỏi thường gặp ... cảm ơn! –

+48

Đây là câu trả lời không tốt! Bạn không bao giờ nên lưu trữ mật khẩu thô trong bất kỳ tập tin nào ... !! Các tùy chọn khác (với nhiều phiếu bầu) bằng cách sử dụng mercurial_keyring là điều duy nhất phải làm! –

+6

+1. Xem xét rằng 'hg push' là không phá hủy (bạn luôn có thể thay đổi không mong muốn' hg strip'), việc đẩy tới một kho lưu trữ từ xa hầu như không phải là một hoạt động có đặc quyền cao. Vì lý do đó, lưu trữ mật khẩu văn bản thuần túy thường hoàn toàn đủ, miễn là người ta nhận thức được các tác động bảo mật. –

250

Cả hai câu trả lời hiện đề nghị lưu trữ tên truy cập và mật khẩu của bạn không được mã hóa trong plain-text, mà là một chút của một không-không.

Thay vào đó, bạn nên sử dụng tiện ích mở rộng Keyring vì thiết bị được thiết kế đặc biệt để lưu mật khẩu xác thực một cách an toàn. Nó đã đi kèm với TortoiseHg, vì vậy tất cả các bạn phải làm là kích hoạt nó bằng cách viết sau trong mercurial.ini tập tin của bạn:

[extensions] 
mercurial_keyring= 

Bạn cũng sẽ phải kết hợp tên của bạn với url đẩy bằng cách chỉnh sửa kho cụ thể .hg \ HGRC tập tin của bạn như trong ví dụ dưới đây:

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

Để biết thêm chi tiết về kết hợp tên của bạn với url, xem phần Repository Configuration (SMTP) của trang Keyring mở rộng.

+2

Tôi vừa thử giải pháp này và nó hoạt động rất tốt với các cửa sổ 7. Rất đẹp! Cảm ơn! – mateuscb

+0

hoạt động tốt cho tôi - nhưng tôi nghĩ bạn cũng cần bao gồm tên người dùng, dưới tiêu đề [auth] hoặc sửa đổi đường dẫn đến kho lưu trữ như tên người dùng @ host (theo liên kết Keyring ở trên) –

+0

bạn nói đúng - Tôi sẽ cập nhật câu trả lời của tôi – Vlad

1

Đơn giản chỉ cần sửa đổi các tập tin hgrc trong .hg thư mục của kho địa phương của bạn để nó trông như thế này:

[paths] 
default = https://name:[email protected]/hg/ 

nơi tên là đăng nhập Google Code của bạn mà không chút gmail/googlemail ví dụ 'fredb' (không phải fredb @ gmail.com), mật khẩu là mật khẩu do Google tạo và yourproj là tên của dự án GC của bạn. Vì vậy, một cái gì đó như:

default = https://fred:[email protected]/hg/ 
+11

Không bao giờ lưu mật khẩu ở dạng văn bản thuần túy. KHÔNG BAO GIỜ! Sử dụng mercurial_keyring - TortoiseHG sau đó chỉ yêu cầu mật khẩu một lần. –

+1

Không bao giờ nói không bao giờ :) Có, khóa SSH là thích hợp hơn so với Keyring, Keyring là thích hợp hơn so với bản rõ, nhưng có những tình huống khác nhau, thực sự. P.S. upvoted cả câu trả lời "keyring" và câu trả lời này. –

141

Ba bước, xem screenshot. Lưu ý: Thao tác này lưu trữ mật khẩu của bạn ở dạng thô.

enter image description here

+3

tuyệt vời ... làm việc như một say mê. cảm ơn! – mujimu

+4

2 gợi ý cho lời giải thích trực quan, thx! – citykid

+37

có vẻ như điều này cũng lưu trữ mật khẩu trong văn bản thuần túy - nếu bạn đã bật mở rộng khóa, thì trường mật khẩu sẽ bị vô hiệu hóa – Vlad

-1

này làm việc cho tôi sử dụng SSH. Tôi biết mật khẩu ở dạng văn bản thuần túy, nhưng đây không phải là vấn đề trong dự án này. Bạn phải thay đổi myUser và MyOPas cho thông tin đăng nhập của bạn và đường dẫn đến: TortoisePlink.exe. Chỉnh sửa mercurial.ini

[reviewboard] 
password = myPass 
[ui] 
username = myUser 
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw myPass 
Các vấn đề liên quan