Я установил git и gitosis, как описано здесь в этом руководстве. Вот шаги, которые я предпринял:
Сервер: Gentoo
Клиент: MAC OS X
1) git install
emerge dev-util/git
2) Гитоз установить
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, логин сервера - эксперт)
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) Добавлены 2 параметра в /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
Полный sshd_config
:
Protocol 2
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes
PrintMotd no
PrintLastLog no
Subsystem sftp /usr/lib64/misc/sftp-server
7) Локальные настройки в файле ~/.ssh/config
:
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
SSH спросил пароль для пользователя git. Почему ssh должен позволять мне входить в систему как пользователь git? У пользователя git нет пароля. Ключ ssh, который я создал, предназначен для эксперта пользователя. Как это должно работать?
Должен ли я добавить некоторые параметры в sshd_config
?