2009-07-23 5 views
4

원격 우분투 상자에 Gitosis를 설정했는데 다음 명령에서 linuxserver를 내 호스트로 사용합니다. 또한 Cygwin을 사용하여 Windows 상자에서 연결합니다. Gitosis를 설정했지만 복제 할 수 없습니다.

나는에 따라 지침을 따랐 : 내 로컬 컴퓨터에 gitosis-관리 저장소를 복제하는 데 필요한 때까지

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way 내가 아무런 문제를 없었다

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

나는이, 명령이 실행을 수행 할 때 ,하지만 Ctrl-c를 눌러 명령 프롬프트로 돌아갈 때까지 아무 것도 표시하지 않습니다. 메시지가 전혀 표시되지 않습니다.

"ssh linuxserver"를 사용하여 내 계정에 로그인 할 때 비밀번호를 묻지 않고 완벽하게 작동하기 때문에 제대로 설정된 ssh 키가 있다고 확신합니다.

편집 : 주말 내내 집에서 거의 동일한 우분투 상자를 설정하고 Gitosis를 설정하는 데 문제가 없었습니다. 유일한 차이점은 내가 Cygwin 대신 OSX에서 연결했다는 것입니다.

편집 : "Git Extensions"와 함께 제공되는 Bash 셸을 사용할 때 문제가 발생하지 않으므로 문제가 Cygwin 충돌 문제 일 수 있습니다.

편집 : 업데이트 :이 질문을 게시 한 지 약 한 달 후, Mercurial로 전환하여 내가 git보다 훨씬 더 많이 사용하는 것으로 나타났습니다. 제안 주셔서 감사합니다,하지만 그 중 하나를 시도하는 자식으로 돌아갈 계획은 없습니다.

+0

오케이, 저에게는 git bash (이전에는 cygwin에서 시도했습니다)에서 작동했습니다. 그 코멘트에 대해 감사합니다, 그렇지 않으면 나는 머리를 부러 뜨 렸을 것입니다! –

답변

1

서버에서 /var/log/messages을 확인 했습니까? comments of Gitosis에서, 당신은 authorized_key 파일을 보면

당신이 키가 생성 된 시스템의 이름 만 이름을 가져 오지 않은 것을 볼 수 있습니다 :
사용자 이름 '자식'이 제대로 작동하지 않을 수 있음 서버 상자의.

예 : "자식"의 사용자 이름을 사용하여 사용자 이름을 변경 한 후 인증 된 키

[email protected]:/home/git/.ssh# cat authorized_keys command=”gitosis-serve [email protected]

이 결과 "gitosis"그것은 내가 만든 해결하려면이

[email protected]:/home/gitosis/.ssh# cat authorized_keys command=”gitosis-serve [email protected]”, 

처럼 보인다/home/gitosis의 홈 디렉토리와 함께 gitosis를 실행하고 git-init 스크립트를 다시 실행합니다. 난 당신이 gitosis를 설치하면 무엇을하고 있는지의 these instructions 제공하는 더 설명을 발견

git clone [email protected]_SERVER_HOSTNAME:gitosis-admin.git 
+0

답변의 첫 부분이 완전히 벗어났습니다. 새로운 독자를 혼란스럽게하지 않도록 제거해야합니다. 두 번째 부분은 옳은 것처럼 보이지만 다시 포맷해야합니다. – Novelocrat

+2

@Novelocrat : 첫 번째 부분을 제거했습니다. 나는 당신이 원하는 "재 포맷팅"에 대해 확신하지 못해서 CW (Community Wiki)로이 답변을 설정했습니다 : 당신은 그것을 편집하고 원하는대로 다시 포맷 할 수 있습니다. – VonC

1

sudo -H -u gitosis gitosis-init < /tmp/id_rsa.pub 
sudo chmod 755 /home/gitosis/repositories/gitosis-admin.git/hooks/post-update 

후, 지역의 상자에 .... 누군가를 도울 수 있습니다.

+0

추가 정보 주셔서 감사합니다. 나는 그것을 시험해보고 싶지만, 이후 Mercurial (그리고 그것을 좋아한다)로 옮겼다. –

1

나는 당신과 같은 문제가 있었는데 문제의 해결책은 서버의 ssh 설정 파일에서 허용 된 사용자에게 "자식"사용자를 추가하는 것이 었습니다. 기본적인 감독 - 네 -하지만 동일한 튜토리얼을 따라이 단계가 언급되지 않았 으면 다른 사람들이 git 사용자를 ssh 설정 파일에 추가하는 것을 잊어 버릴 수도 있습니다.

1

내 컴퓨터에서 비슷한 문제가 발생했습니다. 나는 아치 리눅스에 gitosis를 설치하고

git clone ssh://[email protected]/oslab.git 

를 실행할 때 작동하지만 192.168.1.1과 같은 IP로 로컬 호스트를 변경하는 경우, 그것은 정지됩니다.

3

또한 conf에 디버그 옵션을 설정하는 것이 좋습니다. 다른 사람이이 문제를 가지고 있으며, 또한 GIT_SSH 환경 변수의 값을 확인, MSYS 힘내 설치 한 클라이언트에 Cygwin에서 환경에서 연결을 시도하는 경우

[gitosis] 
loglevel = DEBUG 
+1

그리고? 나에게 아무런 변화가 없다. 어딘가 로그 파일인가? –

0

. 그것은/usr/bin/ssh와 같거나 같지 않아야한다. plink.exe

gitosis 스크립트에서 예상되는 거부와 함께 git 사용자로 서버에 ssh 할 수 있었지만 복제 할 수 없었다. .

직접적인 ssh 연결이 아니라면 호스트가 알려지지 않았기 때문에 git이 여전히 경고하고 있었기 때문에 이상한 일이 있음을 깨달았습니다. MSYS 힘내에서 사용하는 퍼티 SSH 클라이언트를 - 내가 쏘는 "SSH"을 검색 strace를

strace git clone [email protected]:gitosis-admin.git | less 

의 출력에보고 GIT_SSH이 plink.exe을 지적 것으로 나타났다 때이 확인되었다. plink.exe가 작동하지 않는 이유를 모르지만 GIT_SSH =/usr/bin/ssh 설정을 수정하면 문제가 해결됩니다.

관련 문제