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.