Install gitolite v3 on the Centos 6.4. The second user is asking a password

半城伤御伤魂 提交于 2019-12-21 20:59:38

问题


Please help me to understand what i am doing wrong. I have server on CentOS 6.4 and I need to install gitolite v3. What am i doing? by the first i am install one using next command:

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

Install was successful. Than I clone gitolite-admin repositories:

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

And generate public key for the new user(lodar.pub)

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

Than i edit conf/gitolite.conf:

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

Commit all changes:

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

And that is all. Push was successful too. After all manipulation i created .ssh/config

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

But if i try to connect using

ssh gitlodar info
lodar@192.168.0.1's password:

i must to enter the password.

ssh gitadmin info
hello, gitolite, this is gitolite@lodar-14452 running gitolite3 v3.5.1-4-g2f48a3e on git 1.7.1
R W   gitolite-amdin
R W   testing

What am i doing wrong?


回答1:


You did:

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

I supposed you meant

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

Because if you don't copy the public key in ~/.ssh, you wouldn't be able to use it in an ssh session.

But the other mistake is in your ~/.ssh/config file:

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

See "How do programs like gitolite work?":
The idea is to always use the same user to connect to the gitolite server (in your case, connect as 'gitolite'), and open an *non-interactive shell.
The force-command ssh line will call the gitolite script with a parameter representing the name of the user (here 'loadar'), because that named is registered with the public key in the ~gitolite/.ssh/authorized_keys.




回答2:


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

Last command generated two keys: public (lodar.pub) and private (lodar). I moved private key in the .ssh on my client computer. The public one stayed in keydir.

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

That is why after 'git push' user lodar added to giotlite repo. I checked it on the server by the command

$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

YOU ARE RIGHT. MY MISTAKE was IN MY .ssh/config. Thanks for the HELP. it is working great now.



来源:https://stackoverflow.com/questions/16907919/install-gitolite-v3-on-the-centos-6-4-the-second-user-is-asking-a-password

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!