답변:
다음 과 같이 .hgrc
또는 Mercurial.ini
파일 에 인증 섹션을 만들 수 있습니다 .
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
'bb'부분은 임의의 식별자이며 접두사를 사용자 이름 및 비밀번호와 일치시키는 데 사용됩니다. 다른 사이트에서 다른 사용자 이름 / 암호 콤보를 관리하는 데 편리합니다 (접두사)
사용자 이름 만 지정할 수 있으며 푸시 할 때 비밀번호를 입력하면됩니다.
또한 키링 확장을 살펴 보는 것이 좋습니다 . 암호는 일반 텍스트 파일 대신 시스템의 키 링에 암호를 저장하기 때문에 더 안전합니다. Windows에서 TortoiseHg와 함께 번들로 제공되며 현재 모든 플랫폼에서 번들 확장으로 배포하는 것에 대한 토론이 있습니다.
나를 위해 작동하는 형식은 ~ / .hgrc 파일입니다.
[ui]
username=Chris McCauley <chris.mccauley@mydomain.com>
[auth]
repo.prefix = https://server/repo_path
repo.username = username
repo.password = password
고유 한 태그를 추가하여 접두사, 사용자 이름, 비밀번호의 3 중 트립을 더 추가하여 원하는만큼 리포지토리를 구성 할 수 있습니다.
이것은 Mercurial 1.3에서만 작동하며 사용자 이름과 비밀번호는 일반 텍스트로되어 있습니다-좋지 않습니다.
Mercurial은 SSH를 완벽하게 지원하므로 비밀번호없이 서버에 로그인 할 수있는 SSH의 기능을 활용할 수 있습니다 . 자체 생성 된 인증서를 제공하기 위해 구성을 한 번만 수행하십시오. 이것은 당신이 원하는 것을하는 가장 안전한 방법입니다.
비밀번호없는 로그인
구성에 대한 자세한 내용은 여기를 참조하십시오.
보안 옵션을 원하지만 SSH에 익숙하지 않은 경우이 방법을 시도해보십시오.
문서에서 ...
확장 프로그램은 기본적으로 수행되는 것처럼 원격 저장소에 대한 첫 번째 끌어 오기 / 푸시에서 HTTP 암호를 입력하라는 메시지를 표시하지만 암호 데이터베이스에 암호 (사용자 이름과 원격 저장소 URL의 조합으로 입력)를 저장합니다. 다음 실행시에는 .hg / hgrc에서 사용자 이름을 확인한 다음 암호 데이터베이스에서 적합한 암호를 확인하고 해당 자격 증명이있는 경우 해당 자격 증명을 사용합니다.
여기에 더 자세한 정보가 있습니다
키링 확장에 대해서는 언급 한 사람이 없습니다. 사용자 이름과 비밀번호를 시스템 키링에 저장합니다. 이는 위에서 언급 한 것처럼 비밀번호를 정적 파일에 저장하는 것보다 훨씬 안전합니다. 아래 단계를 수행하면 좋습니다. 나는 이것을 약 2 분 안에 우분투에서 실행했다.
>> sudo apt-get install python-pip
>> sudo pip install keyring
>> sudo pip install mercurial_keyring
**Edit your .hgrc file to include the extension**
[extensions]
mercurial_keyring =
간단한 해킹은 프로젝트 .hg/hgrc
파일 의 푸시 URL에 사용자 이름과 비밀번호를 추가하는 것입니다 .
[paths]
default = http://username:password@mydomain.com/myproject
(이 방법으로 비밀번호를 일반 텍스트로 저장합니다)
동일한 도메인에서 여러 프로젝트를 작업하는 경우 ~/.hgrc
모든 프로젝트에 대해이 규칙을 반복하지 않도록 파일에 다시 쓰기 규칙 있습니다.
[rewrite]
http.//mydomain.com = http://username:password@mydomain.com
비밀번호는 일반 텍스트로 저장되므로 일반적으로 사용자 이름 만 저장합니다.
Gnome에서 작업중인 경우 Mercurial과 Gnome Keyring을 통합하는 방법에 대해 설명합니다.
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
위의 NOBODY는 초보자 사용자에게 설명 / 명명 된 용어입니다. 그들은 용어로 혼란스러워합니다.
.hg / hgrc-이 파일은 리포지토리의 로컬 / 작업 공간 위치 / 실제 리포지토리의 .hg 폴더에 사용됩니다.
~ / .hgrc-이 파일은 아래 파일과 다릅니다. 이 파일은 ~ 또는 홈 디렉토리에 있습니다.
myremote.xxxx = ..... bb.xxxx = ......
이것은 수은 키링 확장을 사용하는 동안 [auth] 섹션 / 지시문의 행 중 하나입니다. 거기에 넣은 서버 이름이 "hg clone"을 수행하는 동안 사용하는 것과 일치하는지 확인하십시오. 그렇지 않으면 키 링에 사용자를 찾을 수 없습니다. 아래 줄에있는 bb 또는 myremote는 "hg clone http : /.../../ repo1 bb 또는 myremote"를 수행하는 동안 반드시 부여해야하는 "별칭 이름"입니다. 그렇지 않으면 작동하지 않거나 로컬을 확인해야합니다. 리포지토리의 .hg / hgrc 파일에는 동일한 별칭 (예 : hg clone ..을 마지막 매개 변수로 수행 한 동안 제공 한 파일)이 포함되어 있습니다.
PS 자세한 내용은 다음 링크를 참조하십시오. 문법을 빨리 작성하여 죄송합니다.
예 : ~ / .hgrc (Linux / Unix의 사용자 홈 디렉토리) 또는 Windows의 mercurial.ini (사용자 홈 디렉토리)에있는 경우 다음 행을 포함합니다.
`"hg clone http://.../.../reponame myremote"`
그러면 http repo 링크 당 사용자 자격 증명을 입력하라는 메시지가 표시되지 않습니다. [extensions] 아래의 ~ / .hgrc에 "mercurial_keyring ="또는 "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py"줄이 있습니다.이 줄 중 하나가 있어야합니다.
[auth]
myremote.schemes = http https
myremote.prefix = thsusncdnvm99/hg
myremote.username = c123456
사용자가 사용자 이름 / 암호 프롬프트없이 http : // .... / ...에서 언급 한 것에 대해 걱정하지 않고 Hg 작업을 복제하거나 수행 할 수 있도록 PREFIX 속성을 설정하는 방법을 찾으려고합니다. Hg repo 링크를 사용하는 동안 servername. IP, 서버 이름 또는 서버의 FQDN 일 수 있습니다.
MacPorts를 사용하여 Mac OSX에 mercurial_keyring 설치 :
sudo port install py-keyring
sudo port install py-mercurial_keyring
~ / .hgrc에 다음을 추가하십시오.
# Add your username if you haven't already done so.
[ui]
username = email@address.com
[extensions]
mercurial_keyring =
귀하의 상황에서 작동하거나 작동하지 않을 수 있지만 Putty 's Pageant를 사용하여 공개 / 개인 키를 생성하는 것이 유용하다는 것을 알았습니다.
bitbucket (.org)을 사용하는 경우 사용자 계정에 공개 키를 제공 할 수있는 기능을 제공해야하며 리포지토리에 도달하는 명령은 자동으로 보호됩니다.
재부팅시 Pageant가 시작되지 않으면 Windows "시작 메뉴"에 Pageant 바로 가기를 추가 할 수 있으며 바로 가기에는 개인 (.ppk) 파일의 위치로 채워진 '속성'이 필요할 수 있습니다. .
이를 통해 Mercurial과 로컬 리포지토리를 SSH 형식을 사용하여 푸시 / 풀로 설정해야합니다.
다음은 Atlassian 의 Windows 또는 Mac / Linux 용 사이트에 대한 자세한 지침입니다 .
당신은 그것에 대해 내 말을 할 필요가 없으며 그것을 할 다른 방법은 의심의 여지가 없습니다. 여기 에 설명 된 이 단계 가 더 적합 할 수 있습니다.
- PuttyGen 시작-> PuTTY-> PuttyGen 시작
- 새 키를 생성하고 암호없이 .ppk 파일로 저장
- 퍼티를 사용하여 연결하려는 서버에 로그인하십시오
- PuttyGen의 공개 키 텍스트를 ~ / .ssh / authorized_keys의 텍스트에 추가
- 시작-> 퍼티에서 시작-> 시작으로 .ppk 파일의 바로 가기를 만듭니다.
- 시작 메뉴에서 .ppk 바로 가기를 선택하십시오 (시작할 때마다 자동으로 수행됨)
- 시스템 트레이의 미인 대회 아이콘을 참조하십시오? 마우스 오른쪽 버튼으로 클릭하고 "새 세션"을 선택하십시오.
- “호스트 이름”필드에 username @ hostname을 입력하십시오
- 이제 자동으로 로그인합니다.
키링 확장을 사용하십시오. mercurial.ini 파일에 아래 항목을 추가하십시오.
[확장명] mercurial_keyring =