2009-11-08 5 views
0

최근에 Windows Server 2003 상자에 cygwin, git 및 gitosis를 설정했는데 문제가 있습니다. 나는 편지에서 찾을 수있는 모든 자습서를 따랐으며 gitosis-admin 저장소를 푸시 할 때 git 계정의 authorized_keys 테이블이 업데이트되고 있음을 확인했습니다. 그러나 새로운 저장소를 만드는 데는 어려움이 있습니다. 정확히Cygwin/Git/Gitosis가 새 저장소를 푸시 할 수 없습니다.

mkdir free_monkey 
cd free_monkey 
git init 
touch README 
git add . 
git commit -m "Added blank readme" 
git remote add origin [email protected]_server:free_monkey.git 
git push origin master 

내가 마지막 줄을 실행합니다 (아무리 :

내가 다음 코드 (분명히 REPO 이름 변경) 추천 많은 튜토리얼을 본 적이 두 자식 강타 창문 명령 줄에서 시도 내가 보낸 것), "리모트 엔드가 예기치 않게 끊어졌다"고 말합니다 : $ git push -v origin master : refs/heads/master git @ my_server로 이동 : free_monkey.git 치명적인 : 원격 종료가 예기치 않게 중단되었습니다

내 gitosis.conf 파일은 다음과 같습니다 :

[gitosis] 
loglevel = DEBUG 

[group gitosis-admin] 
writable = gitosis-admin free_monkey.git free_monkey 
members = [email protected]_server @all 

이 문제를 해결하는 데 필요한 정보가 누락되었습니다. 고맙습니다!

나에 관한 또 한가지는

을 :

$ ssh [email protected]_server git 
DEBUG:gitosis.serve.main:Got command 'git' 
ERROR:gitosis.serve.main:Unknown command denied 

은 어쩌면 문제인가? 그렇다면 어떻게 수정해야합니까?

+1

서식을 보존하기 위해 게시물의 수정 사항으로 추가하십시오. –

+0

감사합니다. Blaenk, 제 질문에 추가했습니다.처음 StacckOverflow에 대한 질문을합니다. 내 질문을 편집 할 수 있는지 몰랐다. –

+1

"command denied"부분은 실은 당신의 단서입니다 - 원격 서버의 자식 (git)이 제대로 작동하지 않습니다. 불행히도 Windows에서 git 설정에 대한 경험이 전혀 없지만 적어도 gitosis 외부에서 git를 성공적으로 실행할 수 있는지 확인하는 것이 좋습니다. 예를 들어 어딘가에 'git init'명령을 사용해보십시오. git가 gitosis 사용자 경로에 있는지 확인하십시오. – ebneter

답변

0

OK, "Unknown command denied"오류가 빨간색 청어였던 것 같습니다. Gitosis는 보안상의 이유로 git push/pull 프로세스 중에 실제로 전달되는 명령 만 허용하므로 "git"은 알려진 명령이 아닙니다.

동일한 오류가 계속 발생했지만 다른 포럼의 authorized_keys 파일에 대한 참조가 발생했습니다. 중복 키를 사용하면 authorized_keys 파일이 완전히 깨졌습니다.. 물론, 그건 내 문제였다. 희망이 사람을 도울 수 있기를 바랍니다.

정말이를 진단하려면 다음 단계를 따르십시오 : 당신이 당신의 자식 저장소에 액세스하는 데 사용하는 사용자에 대한

  1. 고양이 당신의 authorized_keys 파일을 (나의 자식 @의 my_server가 있었다, 그래서에서 보았다/홈/자식 /.ssh/authorized_keys). 각 공개 키가 한 번만 있어야합니다.
  2. TortoiseGit과 Pageant에서 여러 ppk를 사용하려고 시도하는 두 번째 문제가 발생했습니다. Pageant가 TortoiseGit의 키 변경 요청을 무시하는 것 같습니다; 작업 표시 줄 (컴퓨터가 모자를 쓰고 있음) 및보기 키에서 마우스 오른쪽 버튼으로 클릭 한 다음 사용하려는 공개 키와 일치하지 않는 키를 모두 제거하십시오 (모든 키가 될 수 있음).

이제 TortoiseGit을 통해 액세스 할 수있는 SSH를 통해 내 서버에서 gitosis를 실행할 수 있습니다.

+0

나는 Gitosis를 다른 사용자 이름을 사용하고 효과적으로 git-hub와 비슷한 상황을 만드는 맞춤형 솔루션으로 전환했다. 나는 코드 공유에 관심이 있지만 C# (파이썬에서 좋은 부분을 가지고 있지만 단순히 언어에 익숙하지 않은 사람)에서 작성했으며 다른 사람들이 재사용 할 수있는 상태로 만들고 싶습니다. 관심있는 사람이 있다면 공유 할 수 있도록 github에 게시합니다. –

0

처음으로 오타를 만들었을 것입니다. 출발지를 제거한 다음 다시 추가하십시오.

git rm origin 
git remote add origin [email protected]_server:free_monkey.git 

그런 다음 다시 시도하십시오. 시도해 볼 가치가 있습니다.

+0

불행히도, 아니, 나는 그것을 시도 해왔다. 나는 여전히 "치명적인 결과를 낳고있다 : 리모트 엔드는 예기치 않게 끊어졌다"... @ 전에 다른 사용자를 시도해 봤지만 둘 중 하나도 작동하지 않는다. 빠른 제안에 감사드립니다. –

관련 문제