2013-06-04 2 views
2

내가 뭘 잘못하고 있는지 이해하도록 도와주세요. CentOS 6.4에 서버가 있고 gitolite v3를 설치해야합니다. 나는 무엇을하고 있는가?CentOS 6.4에서 gitolite v3을 설치하십시오. 두 번째 사용자가 암호를 묻는 중

yum install git* perl-Time-HiRes 

useradd -m --system --shell /bin/bash --user-group gitolite 

su - gitolite 

mkdir bin 


echo "PATH=$HOME/bin:$PATH" > .bash_profile 

source .bash_profile 

ssh-keygen -t rsa 

cp .ssh/id_rsa.pub ./gitolite.pub 

git clone git://github.com/sitaramc/gitolite 

gitolite/install -ln 

gitolite setup -pk gitolite.pub 

가 성공적으로 설치 : 첫째로 나는 다음 명령을 사용하여 하나를 설치입니다. 나는 gitolite-관리 저장소 복제보다 :

git clone gitadmin:gitolite-admin 
cd gitolite-admin/keydir 

을 그리고 난 편집의 conf/gitolite.conf보다 새 사용자의 공개 키 (lodar.pub)

ssh-keygen -t rsa -f lodar 
mv ./lodar ../../.ssh/lodar 

생성 :

repo gitolite-admin 
    RW+ = gitolite 
repo testing 
    RW+ = @all 
repo empty 
    RW+ = lodar 

git add keydir/lodar.pub 
git commit -m 'add user lodar and new repo empty' 
git push 

: 모든 변경 사항을 커밋

그리고 그게 전부입니다. 푸시도 성공했습니다. 모든 조작 후 내가 스푸핑/설정

Host gitadmin 
    User gitolite 
    Hostname 192.168.0.1 
    Port 22 
    IdentityFile ~/.ssh/gitolite 

Host gitlodar 
    User gitolite 
    Hostname 192.168.0.1 
    Port 22 
    IdentityFile ~/.ssh/lodar 

을 생성하지만

ssh gitlodar info 
[email protected]'s password: 

사용하여 연결하려고하면 내가 암호를 입력해야합니다.

ssh gitadmin info 
hello, gitolite, this is [email protected] running gitolite3 v3.5.1-4-g2f48a3e on git 1.7.1 
R W gitolite-amdin 
R W testing 

내가 뭘 잘못하고 있니?

+0

나는'cp'가 아니라'mv'가 아니라는 것을 이해하고 있지만 아래 답변에서 언급했듯이'~/.ssh/config' 파일에서'gitolite'가되어야한다는 것을 확신 할 수 있습니다. 항상'gitolite'. – VonC

답변

1

당신은 한 :

mv ./lodar ../../.ssh/lodar 

난 당신이 ~/.ssh의 공개 키를 복사하지 않는 경우, 당신은 SSH에서 사용할 수 없을 것입니다 때문에 당신이

cp ./lodar.pub ../../.ssh/ 
mv ./lodar  ../../.ssh/ 

을 의미하는데 세션.

그러나 다른 실수는 당신의 ~/.ssh/config 파일에 있습니다

Host gitlodar 
    User gitolite   # not loadar! 
    Hostname 192.168.0.1 
    Port 22 
    IdentityFile ~/.ssh/lodar 

는 "How do programs like gitolite work?"을 참조하십시오 :에 (
아이디어는 이다 항상는 gitolite 서버에 연결하는 같은 사용자를 사용하여 'gitolite'로 연결) * 대화 형이 아닌 셸을 엽니 다.
사용자의 이름을 나타내는 매개 변수 (여기서는 'loadar')를 사용하여 gitolite 스크립트를 호출합니다. 이름이 ~gitolite/.ssh/authorized_keys의 공개 키로 등록되어 있기 때문입니다. 공공 (lodar.pub) 및 개인 (lodar) :

1
$pwd 
/home/lodar/gitolite-admin/keydir  
$ssh-keygen -t rsa -f lodar 

마지막 명령은 두 개의 키를 생성합니다. 내 클라이언트 컴퓨터의 .ssh에서 개인 키를 옮겼습니다. 대중은 keydir에 머물렀다.

$mv ./lodar ../../.ssh/lodar 

'자식 푸시'사용자 lodar 후 REPO를 giotlite에 추가 왜 그.나는 명령

$gitolite sshkeys-lint 
sshkeys-lint: === checking authkeys file: 
sshkeys-lint: === checking pubkeys: 
sshkeys-lint: === gitolite.pub maps to user gitolite 
sshkeys-lint: === lodar.pub maps to user lodar 

자네 말이 맞아하여 서버에 체크. 내 실수는 .ssh/config에있었습니다. 도와 주셔서 감사합니다. 지금 큰 일을하고 있습니다.

+0

오른쪽. +1. 더 정확한 정보를 얻기 위해 올바른 cp/mv 명령을 추가했습니다. – VonC

+0

고마워요. 내 첫 번째 게시물을 수정하고 다른 사람들을 위해 "How-to install Gitolite"라는 이름으로 바꿉니다. – wondertalik

관련 문제