Здравствуйте,
Делал как описано тут http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
Сервер gentoo. Клиент MAC OS X
1) git установил
emerge dev-util/git
2) поставил gitosis
cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
3) создал пользователя git
adduser --system --shell /bin/sh --comment 'git version control' --no-user-group --home-dir /home/git git
в /etc/shadow получили
git:!:14665::::::
4) На локальной машине (mac os x) выполнил (мой логин ipx, на сервере логин expert)
ssh-keygen -t dsa
полчил 2 файла
~/.ssh/id_dsa.pub
~/.ssh/id_dsa
5) Скопировал id_dsa.pub на сервер в мою домашнюю папку
~/.ssh/id_dsa.pub
Контент из файла
~/.ssh/id_dsa.pub перенес в файл ~/.ssh/authorized_keys
Далее сделал
cp ~/.ssh/id_dsa.pub /tmp/id_dsa.pub
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
6) В настройках sshd установил 2 параметра (/etc/ssh/sshd_config)
RSAAuthentication yes
PubkeyAuthentication yes
Полный конфиг выглядит так:
Protocol 2
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes
PrintMotd no
PrintLastLog no
Subsystem sftp /usr/lib64/misc/sftp-server
7) В локальных настройках
Host myserver.com.ua
User expert
Port 22
IdentityFile ~/.ssh/id_dsa
8) Подключение по ссш с помощью ключей прошло успешно
ssh expert@myserver.com.ua
9) Вот тут говорят что будет работать
git clone git@myserver.com.ua:gitosis-admin.git
cd gitosis-admin
ВНИМАНИЕ :) у меня попросило пароль. Но т.к. пользователю git пароль не задавали, то соответственно меня не пустило. Я так понимаю я где-то что-то упустил? Какой-то параметр в ssh?
Как должен ssh пустить юзера git без пароля? И ключ в ссш я создавал для своего пользователя а не для git, какую роль ключ тут играет?
Спасибо!