เก็บรหัสผ่านใน TortoiseHg


200

มีวิธีกำหนดค่าTortoiseHgให้เก็บรหัสผ่านของฉันหรือไม่?

ฉันมีโครงการที่โฮสต์บนGoogle Codeที่ฉันเข้าถึงด้วย TortoiseHg เมื่อใดก็ตามที่ฉันต้องการผลักดันการเปลี่ยนแปลงใน Google Code TortoiseHg จะแจ้งให้ฉันใส่ชื่อผู้ใช้และรหัสผ่าน Google Code กำหนดให้ฉันต้องใช้รหัสผ่านที่สร้างขึ้นอัตโนมัติและจะได้รับซ้ำ ๆ เพื่อค้นหาทุกครั้ง

คำตอบ:


70

คำเตือนความปลอดภัย

แม้ว่าคำตอบนี้จะได้รับการยอมรับเมื่อวันที่ 2017-09-15 มันไม่ได้เป็นทางออกที่แนะนำ คุณไม่ควรเก็บรหัสผ่านเป็นข้อความธรรมดา ใช้mercurial_keyringส่วนขยายแทน ดูคำตอบอื่นที่นี่


คุณสามารถเปลี่ยน URL ผลักดันของคุณเพื่อhttps: // ชื่อผู้ใช้: password@hostname.com/repo

สิ่งนี้อธิบายไว้ในคำถามที่พบบ่อยของGoogle CodeและMercurial

แก้ไข: Mercurial FAQ อธิบายวิธีการอื่น:

ด้วย Mercurial 1.3 คุณสามารถเพิ่มหัวข้อ auth ไปยังไฟล์ hgrc ของคุณได้:
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar

51
นี่เป็นคำตอบที่ไม่ดี! คุณไม่ควรจัดเก็บรหัสผ่านธรรมดาไว้ในไฟล์ใด ๆ ... !! ตัวเลือกอื่น ๆ (ที่มีคะแนนโหวตมากกว่า) โดยใช้ mercurial_keyring เป็นสิ่งเดียวที่ต้องทำ!
Lars Corneliussen

6
+1 เมื่อพิจารณาแล้วว่าhg pushไม่ทำลาย (คุณสามารถhg stripเซ็ตการแก้ไขที่ไม่ต้องการได้ตลอดเวลา) การผลักดันไปยังพื้นที่เก็บข้อมูลระยะไกลเป็นการดำเนินการที่ได้รับสิทธิพิเศษอย่างมาก ด้วยเหตุผลดังกล่าวการจัดเก็บรหัสผ่านแบบธรรมดาจึงเพียงพออย่างสมบูรณ์ตราบใดที่มีใครตระหนักถึงความปลอดภัย
SørenLøvborg

4
ปัญหาไม่ใช่ว่าบางคนอาจเสียหายที่เก็บไม่ได้ ปัญหาคือ: (1) คนใช้รหัสผ่านซ้ำดังนั้นเมื่อมีคนจัดการเพื่อเข้าถึงไฟล์ข้อความนี้พวกเขาจะสามารถเข้าถึงทรัพยากรที่ไม่เกี่ยวข้อง (2) แฮ็คตามอำเภอใจอาจแอบเข้าไปในซอร์สโค้ด ... (3) โค้ดอาจเป็นความลับ (ไม่ใช่การพัฒนาทั้งหมดเป็นโอเพนซอร์ซ) และการขโมยมันไม่สนุกเสมอไป
สูงสุด

6
@max 1) อาจเป็นจริงในทางทฤษฎี แต่ OP ระบุไว้ว่าเขาใช้รหัสผ่านที่สร้างขึ้นโดยอัตโนมัติ 2) การควบคุมเวอร์ชันจะหยุดสิ่งนี้คุณสามารถเห็นการเปลี่ยนแปลงทั้งหมดที่ได้รับการตรวจสอบแล้วนี่เป็นปัญหาได้อย่างไร? 3) หากมีคนเข้าถึงรหัสผ่านแบบธรรมดาที่เก็บไว้ในคอมพิวเตอร์ของคุณพวกเขาก็สามารถเข้าถึงรหัสของคุณได้เช่นกัน รหัสผ่านไม่มีความหมายที่นี่เพราะพวกเขาสามารถทิ้งรหัสของคุณลงบนดองเกิล
goldenratio

4
@LarsCorneliussen นี่ไม่ใช่คำตอบที่ไม่ดี ไม่ใช่ทุกกรณีการใช้งานต้องการระดับความปลอดภัยระดับนั้น ส่วนขยายของพวงกุญแจเป็นตัวเลือกเช่นนี้
Cypher

265

คำตอบที่มีอยู่ทั้งสองแนะนำให้เก็บชื่อผู้ใช้และรหัสผ่านของคุณไม่เข้ารหัสในข้อความล้วนซึ่งเป็นบิตของ no-no

คุณควรใช้ส่วนขยายของพวงกุญแจแทนเนื่องจากได้รับการออกแบบมาโดยเฉพาะสำหรับการบันทึกรหัสผ่านการตรวจสอบความปลอดภัยอย่างปลอดภัย มันมาพร้อมกับTortoiseHgดังนั้นสิ่งที่คุณต้องทำคือเปิดใช้งานโดยการเขียนสิ่งต่อไปนี้ในไฟล์mercurial.iniของคุณ:

[extensions]
mercurial_keyring=

คุณจะต้องเชื่อมโยงชื่อผู้ใช้ของคุณกับพุช url ด้วยการแก้ไขไฟล์. hg \ hgrcเฉพาะที่เก็บของคุณเช่นในตัวอย่างด้านล่าง:

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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการเชื่อมโยงชื่อผู้ใช้ของคุณกับ url ให้ดูที่ส่วนRepository Configuration (SMTP)ของหน้าส่วนขยายKeyring


2
ฉันเพิ่งลองวิธีนี้และมันก็ใช้งานได้ดีกับ windows 7 เยี่ยมมาก! ขอบคุณ!
mateuscb

ทำงานได้ดีสำหรับฉัน - แต่ฉันคิดว่าคุณต้องรวมชื่อผู้ใช้ไม่ว่าจะเป็นภายใต้ [auth] หัวเรื่องหรือแก้ไขเส้นทางไปยังที่เก็บข้อมูลเช่นชื่อผู้ใช้ @ host (ตามลิงค์พวงกุญแจด้านบน)
Tom Carver

1
คำตอบที่ดีแน่นอนวิธีที่จะไป
vobject

จะบันทึกชื่อผู้ใช้และรหัสผ่านถ้าคุณอยู่หลังเว็บพร็อกซี่?
เซท

3
วิธีที่ถูกต้องคือใช้ส่วนรับรองความถูกต้องเพื่อกำหนดชื่อผู้ใช้ คุณไม่ควรมีข้อมูลรับรองความถูกต้องในเส้นทาง repo ของคุณเช่น[auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar
schlamar

150

สามขั้นตอน, นาฬิกาภาพหน้าจอ หมายเหตุ: วิธีนี้จะเก็บรหัสผ่านของคุณเป็นข้อความธรรมดา

ป้อนคำอธิบายรูปภาพที่นี่


37
ดูเหมือนว่าจะเก็บรหัสผ่านเป็นข้อความธรรมดา - หากคุณเปิดใช้งานส่วนขยายของพวงกุญแจฟิลด์รหัสผ่านจะถูกปิดใช้งาน
Vlad Iliescu

5
ใช้งานได้เฉพาะเมื่อคุณใช้โปรโตคอล https เมื่อตั้งค่าเป็น http กุญแจจะหายไป
Despertar

คำตอบที่ได้รับการยอมรับแบบดั้งเดิมดูดนี่ควรมีสีเขียวขุ่น!
William T. Mallard

12

หากคุณต้องการกำหนดค่าผ่าน TortoiseHg กล่องโต้ตอบการตั้งค่าพื้นที่เก็บข้อมูลจะพร้อมใช้งาน หลังจากเปิดกล่องโต้ตอบโปรดสลับไปที่แท็บ 'ซิงค์' คุณสามารถเพิ่มพา ธ ด้วยข้อมูลการตรวจสอบสิทธิ์ของ HTTPS

http://tortoisehg.bitbucket.io/manual/2.9/settings.html#module-web.settings


2

เพียงแก้ไขhgrcไฟล์ใน.hgไดเรกทอรีของพื้นที่เก็บข้อมูลในเครื่องของคุณเพื่อให้มีลักษณะดังนี้:

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

โดยที่nameคือชื่อเข้าสู่ระบบ Google Code ของคุณโดยไม่มี gmail / googlemail bit เช่น 'fredb' (ไม่ใช่ fredb@gmail.com) รหัสผ่านคือรหัสผ่านที่สร้างโดย Google และyourprojเป็นชื่อโครงการ GC ของคุณ ดังนั้นสิ่งที่ชอบ:

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

11
อย่าเก็บรหัสผ่านเป็นข้อความธรรมดา ไม่เคย! ใช้ mercurial_keyring - TortoiseHG จากนั้นขอรหัสผ่านเพียงครั้งเดียว
Lars Corneliussen

1
ไม่เคยพูดไม่เคย :) ใช่แล้วคีย์ SSH นั้นดีกว่า Keyring Keyring นั้นดีกว่าแบบธรรมดา แต่มีสถานการณ์ที่แตกต่างกันจริงๆ ปล. ขึ้นทะเบียนทั้งคำตอบ "พวงกุญแจ" และอันนี้
Alex Shesterov

0

SSHงานนี้สำหรับฉันโดยใช้ ฉันรู้รหัสผ่านที่เป็นข้อความธรรมดา แต่นี่ไม่ใช่ปัญหาในโครงการนี้ คุณต้องเปลี่ยน myUser และ MyOPas สำหรับข้อมูลประจำตัวของคุณและเส้นทางไปที่: TortoisePlink.exe แก้ไข mercurial.ini

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

0

ถ้าคุณต้องการเก็บรหัสผ่านไว้ใน mercurial.ini และมันจะไม่ทำงานอีกต่อไปหลังจากที่คุณอัพเกรดเป็น TortoiseHg 4.9 ขึ้นไปทางออกที่เป็นไปได้คือการเพิ่มพอร์ตไปยังคำนำหน้า:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.