2011-01-19 6 views
3

서버에서 git와 gitosis를 설정하여 나의 repos를 관리한다. 나는 (gitosis.conf 통해) 내가 만든 별도의 계정을 사용하려고 할 때이 요구 유지커맨드 라인에서 비밀번호를 물어 본다

git clone [email protected]:gitosis-admin.git 

을하지만 : 그것은 즉, 내가 실행할 수있는, 내가 그것을 설정 초기 쉘 계정이 제대로 작동하고 암호 :

git clone [email protected]:gitosis-admin.git 

SSH 키를 설정하고 복사본을 서버의 keydir에 푸시했습니다. 이 문제는 같은 문제를 해결하는 것으로 보입니다. 그러나 주어진 해결책은 고문을위한 것입니다.

Git keeps asking for password

어떻게 대신 암호를 묻는의 SSH 키를 사용하여 자식을 알 수 있습니까?

답변

5

당신은 사용자 이름을 사용하지 마십시오, 당신은 항상 말 :

git clone [email protected]:<repository> 

Gitosis 서버에 키의 이름으로 그 설정 파일에 이름을 연결합니다. 그것은 당신이 gitosis.conf에서

[group users] 
members = johndoe janeroe 
writable = repo1 repo2 

같은 라인을 가지고 있으며, 파일은 gitosis-관리/keydir에서 janedoe.pub을 johndoe.pub; gitosis는 사용자에게 적절한 키를 사용하지만 항상 URL에서 "git"을 사용자로 사용합니다. 그것은 항상 "자식"계정을 사용하기 때문입니다.

+0

비슷한 상황이 있습니다. 내 질문을 읽으십시오. http://stackoverflow.com/questions/4882545/gitosis-asking-for-password – andho

2

글쎄, 나는 단지 gitosis에 대해 읽었고 AFAICT를 사용하면 결코 [email protected]에서 복제해서는 안됩니다. 항상 [email protected]에서 복제하고 서버가 janedoe의 johndoe와 구분할 수 있도록 ssh 키가 올바르게 설정되어 있는지 확인하십시오.

클라이언트 쪽에서 johndoe의 SSH 키를 키 체인에 추가하고 서버에서 허용 할 다른 것들을 제거한 다음 git 사용자 및 전자 메일 설정을 johndoe로 설정하십시오. 서버는이 둘을 비교하여 일치하는지 확인하고 커밋하도록합니다. 다른 사람의 키를 사용하도록 SSH를 구성한 다음 git으로 johndoe로 커밋하려고하면 서버에 연결할 수 있지만 커밋을 진행할 수는 없습니다.

OTOH는 gitosis가 실제 사용자 계정을 만들지 않기 때문에 johndoe로 시스템에 ssh 할 수 없기 때문에 git의 저장소에 johndoe @ ... 주소를 사용할 수 없다는 것을 의미합니다. 그렇게해야한다면, git 서버를 다른 방법으로 설정해야 할 것이다.

관련 문제