2016-11-21 4 views
0

원격 git 저장소 호스팅을위한 응용 프로그램을 만들려고합니다. 난 할 노력하고있어, 나는 내 응용 프로그램과 SSHD를 제공하기 위해 supervisord를 사용하고 사용자 클론에게 SSH로 저장소를 허용하는 것입니다,하지만 난 저장소를 복제하기 위해 노력하고있어 때 얻을 :git clone (SSH)이 도커에서 실행되는 supervisord에 의해 수익을 얻습니다.

$ git clone [email protected]:/repositories/some-repo 
Cloning into 'some-repo'... 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

와의 슈퍼 바이저 로그 볼 수 있습니다 :

[date] INFO reaped unknown pid [PID] 

그래서 제 생각에는 모든 알려진 PID를 죽이는 감독관 일뿐입니다. 리포지토리에 올바른 액세스 권한을 설정했는데 키가 authorized_keys 파일에 추가되었습니다. 나의 현재 supervisord의 설정은 다음과 같습니다

[supervisord] 
logfile = /tmp/supervisord.log 
directory = /tmp 
childlogdir = /tmp 

[program:app-sshd] 
command=/usr/sbin/sshd -D 

[program:app-uwsgi] 
command = /usr/local/bin/uwsgi --ini /my/path/uwsgi.ini 
stopsignal=INT 

[program:app-nginx] 
command = /usr/sbin/nginx 

관리자의 자식 연결을 허용 할 수있는 방법이 아니면 내가이 프로젝트를 진행하는 가상 머신 내 고정 표시기 용기를 교체해야합니까?

+1

'감독자'에 익숙하지 않지만 권한이있는 것 같습니다. 테스트를 취소하려면 '감독자'를 사용 중지 할 수 있습니다. 이제 저장소를 복제하십시오. BTW, 당신은 당신의 자식 서버에 로컬 SSH 공개 키를 추가 했습니까? – Ivan

+0

내 열쇠가 서버의 aurhorized_keys 파일에 추가되기 전에 말했듯이, 진입 점에서 ssh 데몬 만 검사했을 때 같은 방식으로 작동하고 있었고 무엇이 잘못되었는지 알아 냈습니다. User git은 쉘을/bin/false로 설정했기 때문에 로그인 한 직후에 로그 아웃했다. – Morishiri

답변

0

문제점은 내 사용자가 쉘을 /bin/false으로 설정 한 다음 로그인 직후 로그 아웃 한 것이 문제였습니다. /bin/bash으로 변경하면 문제가 해결됩니다.