TortoiseHg에 비밀번호 저장


200

비밀번호를 저장 하도록 TortoiseHg 를 구성하는 방법이 있습니까?

TortoiseHg를 사용하여 액세스 할 수있는 Google 코드로 호스팅 된 프로젝트가 있습니다. Google 코드 TortoiseHg에 변경 사항을 푸시 할 때마다 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다. Google 코드를 사용하려면 자동 생성 된 비밀번호를 사용해야하며 매번 비밀번호를 검색하는 것이 매우 반복적입니다.

답변:


70

보안 경고

이 답변은 2017-09-15부터 승인되었지만 권장되는 솔루션 은 아닙니다 . 비밀번호를 일반 텍스트로 저장해서는 안됩니다. mercurial_keyring대신 확장을 사용하십시오 . 참조 다른 대답을 여기에.


푸시 URL을 https : // username : password@hostname.com/repo로 변경할 수 있습니다 .

이것은 Google 코드 및 Mercurial의 FAQ에 설명되어 있습니다 .

편집 : Mercurial FAQ는 다른 방법으로 설명합니다.

Mercurial 1.3을 사용하여 hgrc 파일에 인증 섹션을 추가 할 수도 있습니다.
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = 바

51
이것은 나쁜 대답입니다! 평문 암호를 모든 파일에 저장해서는 안됩니다 ... !! mercurial_keyring을 사용하는 다른 옵션 (더 많은 투표)이 유일하게 올바른 일입니다!
— Lars Corneliussen

6
+1. 이것이 hg push비파괴 적이 라는 것을 고려 하면 (원하는 hg strip원치 않는 변경 세트 는 항상 가능 ) 원격 저장소로 푸시하는 것은 특권이있는 작업이 아닙니다. 따라서 보안 관련 사항을 알고있는 한 평문 암호 저장 공간은 종종 완벽하게 충분합니다.
— Søren Løvborg

4
문제는 누군가가 저장소를 복구 할 수 없을 정도로 손상시킬 수 있다는 것이 아닙니다. 문제는 다음과 같습니다. (1) 사람들이 암호를 재사용하므로 누군가이 텍스트 파일에 접근하면 관련없는 리소스에 액세스 할 수 있습니다. (2) 임의의 해킹이 소스 코드에 몰래 들어갈 수 있습니다 ... (3) 코드가 비밀 일 수 있습니다 (모든 개발이 오픈 소스가 아님), 도난당한 것이 항상 재미있는 것은 아닙니다.
— 최대

6
@max 1) 이론 상으로는 사실이지만 OP는 자동 생성 암호를 사용한다고 명시했습니다. 2) 버전 제어가이를 중지합니다. 체크인 된 모든 변경 사항을 볼 수 있습니다. 어떻게 문제가 될 수 있습니까? 3) 누군가 컴퓨터에 저장된 일반 텍스트 암호에 액세스 할 수 있으면 코드에도 액세스 할 수 있습니다. 비밀번호는 코드를 동글에 덤프 할 수 있기 때문에 여기서는 의미가 없습니다.
— goldenratio

4
@LarsCorneliussen 이것은 나쁜 대답이 아닙니다. 모든 유스 케이스에 해당 레벨의 보안이 필요한 것은 아닙니다. 키링 확장은 옵션과 마찬가지로 옵션입니다.
— Cypher

265

모두 기존의 답변은 사용자 이름과 암호를 저장하는 것이 좋습니다 암호화되지 않은 에서 일반 텍스트 노 노의 비트가.

인증 암호를 안전하게 저장하도록 특별히 설계된 키링 확장을 대신 사용해야 합니다. 이미 TortoiseHg 와 함께 번들로 제공 되므로 mercurial.ini 파일에 다음을 작성하여 활성화하면됩니다 .

[extensions]
mercurial_keyring=

아래 예와 같이 리포지토리 별 .hg \ hgrc 파일 을 편집하여 사용자 이름을 푸시 URL과 연결해야 합니다.

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

사용자 이름과 URL 연결에 대한 자세한 내용 은 Keyring 확장 프로그램 페이지 의 SMTP (Repository Configuration) 섹션을 참조하십시오.


2
방금이 솔루션을 시도했지만 Windows 7에서 훌륭하게 작동했습니다. 감사!
— mateuscb

잘 작동합니다.하지만 [auth] 제목 아래에 username을 포함하거나 username @ host와 같은 저장소 경로를 수정해야합니다 (위의 Keyring 링크에 따라)
— 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


2

로컬 저장소 hgrc의 .hg디렉토리 에서 파일을 다음과 같이 수정하면 됩니다 .

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

여기서 name 은 gmail / googlemail 비트가없는 Google 코드 로그인입니다 (예 : fredb@gmail.com이 아닌 'fredb'), password 는 Google에서 생성 한 비밀번호, yourproj 는 GC 프로젝트의 이름입니다. 그래서 같은 :

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

11
비밀번호를 일반 텍스트로 저장하지 마십시오. 못! mercurial_keyring-TortoiseHG를 사용하여 암호를 한 번만 요청하십시오.
— Lars Corneliussen

1
절대로 절대 말하지 마십시오 :) 예, SSH 키가 키 링보다 선호되고 키 링은 일반 텍스트보다 선호되지만 실제로는 상황이 다릅니다. PS는 "열쇠 고리"답변과 이것 둘 다를 찬성했다.
— Alex Shesterov 2016 년

0

이것은 나를 사용하여 작동합니다 SSH. 암호는 텍스트로 표시되어 있지만이 프로젝트에서는 문제가되지 않습니다. 자격 증명 및 경로 : TortoisePlink.exe에 대해 myUser 및 MyOPas를 변경해야합니다. 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.