![Authorized_keys 파일에 이미 존재하는 사용자를 허용하는 gitolite](https://rvso.com/image/668787/Authorized_keys%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%9D%B4%EB%AF%B8%20%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20%ED%97%88%EC%9A%A9%ED%95%98%EB%8A%94%20gitolite.png)
나는 저장소에 대한 권한을 제한하기 위해 gitolite를 사용하고 있으며 gitolite를 통하지 않고 Authorized_keys에 이미 추가된 공개 키를 가진 사용자를 복제하고 푸시하려고 시도하기 전까지는 잘 작동했습니다. 문제는 서버에 액세스할 수 있는 키를 사용하고 있다는 것입니다. server:reponame을 복제하려고 하면 저장소가 존재하지 않는다는 오류가 발생하고, repositories/reponame에서 복제하고 푸시하려고 하면 다음 오류가 발생합니다.
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 370 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Empty compile time value given to use lib at hooks/update line 6
remote: Use of uninitialized value in require at hooks/update line 7.
remote: Can't locate Gitolite/Hooks/Update.pm in @INC (@INC contains: /Library/Perl/Updates/5.10.0 /System/Library/Perl/5.10.0/darwin-thread-multi-2level /System/Library/Perl/5.10.0 /Library/Perl/5.10.0/darwin-thread-multi-2level /Library/Perl/5.10.0 /Network/Library/Perl/5.10.0/darwin-thread-multi-2level /Network/Library/Perl/5.10.0 /Network/Library/Perl /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0 .) at hooks/update line 7.
remote: BEGIN failed--compilation aborted at hooks/update line 7.
remote: error: hook declined to update refs/heads/master
이미 서버에 대한 액세스 권한이 있는 사용자에게 gitolite 저장소에 대한 권한을 부여하는 방법이 있습니까? 나는 사용자를 위해 다른 키를 사용하고 이를 gitolite keydir에 추가할 수 있다는 것을 알고 있지만 이러한 사용자가 gitolite 저장소에도 액세스하는 것이 훨씬 더 자연스러울 것입니다.
답변1
tl;dr 버전: gitolite에 대해 별도의 키 파일을 사용합니다.
안하는 것보다 늦게하는 것이 낫다.
기존 키 파일을 gitolite/keys 디렉토리, git add, git commit, git push에 추가하면 됩니다. gitolite는 다음과 같은 메시지를 생성합니다
remote: WARNING: keydir/keyfile_which_was_added.pub duplicates a non-gitolite key, sshd will ignore it
/home/git/.ssh/authorized_keys
한 번은 이미 존재하고 다른 한 번은 키의 두 배를 보유합니다 .
# gitolite start
그리고
# gitolite end
부분.
섹션 다음에 기존(이전) 키를 이동하려고 시도했지만 # gitolite
SSH 로그인에 gitolite 메시지만 표시되고 종료됩니다.
해결책은 다음과 같습니다Gilolite는 별도의 공개키를 사용.