2013-02-13 1 views
13

내 질문은 정확하게 제목입니다.git-tf 모든 체크 인마다 내 자격 증명을 지정하는 것을 피하는 방법

내 명령 프롬프트에서 git-tf checkin 명령을 실행할 때마다 TFS에 연결할 때 사용자 이름과 암호를 묻습니다. 어떻게 이것을 피할 수 있습니까? 현재 사용자로 로그인하거나 구성 파일의 어딘가에 자격 증명을 저장하십시오.

Windows에서이고이있는 도메인에 로그인 한 경우 :

답변

20

는 지금까지이 작업을 수행하는 가장 안전한 방법은 단순히 암호를 저장하지 않는 대신 Kerberos 또는 NTLM을 통해 단일 사인 온 (SSO)을 사용하는 것입니다 TFS 서버와의 신뢰 관계라면 사용자 이름과 암호를 지정할 필요가 없습니다.

Windows에 있고 "섀도 잉 계정"설정이있는 경우 사용자 이름과 암호를 지정할 필요가 없습니다. 이 문제는 TFS 서버와 도메인 트러스트 관계가없는 경우 발생합니다. 이지만은 TFS 서버의 계정과 동일한 사용자 이름과 암호로 로컬 컴퓨터에 로그인 한 것입니다.

Unix 플랫폼을 사용하는 경우 Kerberos를 사용하여 싱글 사인온 (SSO)을 사용할 수 있습니다. 이것은 Active Directory 서버 자체의 티켓을 가지고있을 때 (예 : kinit activedirectory.domain.name) 시나리오입니다.

마찬가지로 유닉스에서 TDC 서버 (거의 확실하게 Active Directory 서버 자체)와의 신뢰 관계가있는 KDC에 대한 Kerberos 티켓을 가지고 있다면 사용자 이름과 암호를 지정할 필요가 없습니다. git-tf은 로그인 한 자격 증명을 사용하여 인증합니다.

이 중 어느 것도 적용하지 않으면, 당신은 당신의 저장소의 자식 구성에서 사용자 이름과 암호를 저장할 수 있습니다 : 암호가 일반 텍스트로 자식 구성 파일에 저장됩니다

git config git-tf.server.username your-username 
git config git-tf.server.password your-password 

참고. 사용자가 구성 파일에서 암호를 읽지 못하도록 ACL 또는 파일 권한을 적절하게 설정하십시오. 또는 사용자 이름 만 저장할 수 있으며 매번 암호를 입력해야합니다.

+0

좋습니다. 힘 config는 작동하는 것처럼 보인다. 하지만 당신의 다른 해결책을 선택 하겠지만 작동하게 만들 수는 없습니다. Windows 8 컴퓨터에서 개발 중이며 Team Foundation Server는 Windows Server 2008 R2입니다. 팀 기반 서버와 동일한 로컬 네트워크에 앉아 있습니다. 내 개인 개발자 컴퓨터에 로그인 한 사용자도 팀 기반 서버에 추가됩니다. 이것은 tfs가 사용자와 암호를 입력하라는 메시지를 표시 할 때 입력 한 사용자입니다. 개발자 컴퓨터의 자격 관리자에 행을 추가했습니다. 실종 신고 된 것이 있습니까? – John

+0

http://gittf.codeplex.com에 줄을 남기면 로그 사본을 얻고 설명이 있는지 확인하십시오. –

+1

git config 명령을 사용하여 암호를 추가하면 bash 기록에도 암호가 저장됩니다. '.git/config' 파일을 수동으로 편집하는 것이 약간 더 바람직 할 수 있습니다.Kerberos에 대한 이러한 팁을 가져 주셔서 감사합니다 :) – Uflex

1

당신은의 .gitconfig --global 스위치를 사용하여 프로젝트에이 저장에서 자식을 방지 할 수 있습니다 :

git config --global git-tf.server.username your-username 
git config --global git-tf.server.password your-password 
그것은 여전히 ​​시스템에 일반 텍스트로 저장됩니다

(C를 : /Users/your-login/.gitconfig) 적어도 프로젝트에있는 파일에는 저장되지 않습니다.

+1

글로벌 구성에 저장하는 것이 왜 좋은가요? TFS 서버가 여러 대 있으면 어떻게됩니까? –

+1

@EdwardThomson 대신 자격 증명을 .git/config 파일에 추가하십시오. '[git-tf "서버"] 섹션에서'username'과'password' 키를 ​​추가하십시오. –