суббота, 7 января 2012 г.

Заметки по настройке gitosis в linux, git в Windows, TortoiseGit



Введение

gitosis - удобный инструмент для управления репозиториями git. Он позволяет удобно создавать новые репозитории, выдавать отдельным людям прова на доступ к отдельным репозиториям. Что интересно, настройки самого gitosis также хранятся в репозитории git =)

Статьи для установки git в windows и gitosis в линукс:

Хорошая статья по установке gitosis существует здесь

В этой теме перечислю список ключевых моментов при установке и настройке gitosis в linux и git в windows.

Заметки

Windows

Сначала ставим Git, потом TortoiseGit

При установке TortoiseGit выбираем OpenSSH.

Если ваш пользователь в Windows на русском языке, вы можете получить каракули при работе с Git Bash, в качестве решения установите в Windows свою переменную окружения HOME и укажите в ней удобную директорию на английском и без пробелов.

Чтобы Git подхватил файл ключей, нужно скопировать файл ключей в файл ~/.ssh/id_rsa. (Знак ~ - это путь до вашей домашней папки, установленной в HOME)

Linux

Создать приватный и публичный ключи доступа

Для создания файла ключа я использовал запись

ssh-keygen -b 1024 -t dsa -N парольная_фраза -f filename

Параметр "-N парольная_фраза" - можно не писать, если вы не хотите использовать пароль. Если система предложит ввети пароль, нажмите Enter, чтобы оставить без пароля.
После выполнения команды, у вас будет создана два файла:
filename - приватный (никому никогда не даёте!)
filename.pub - публичный (раздавайте всем)

Восстановить публичный ключ из приватного ключа

Дывает так, что вы потеряли публичный ключ, а приватный у вас есть. Как известно, публичный ключ может быть получен из приватного, для этого надо выполнить команду:

ssh-keygen -y -f private > public.pub

Где private - имя вашего закрытого ключа, public.pub - будущее имя открытого ключа (здесь расширение надо указывать явно, в отличии от генерации ключа).

Так выглядит закрытый ключ:

-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDMGzEYwUAcfDr8kCRNDFP1ZYJfVHioevA+G8edoO/IngfL6Eyp
1hNj6DYjIZNLzXxIkbZ5aJ+0LMxO2yqQLtndSRgNk1VsF5kdnEXLydQ5nilda47P
Li6JlvnufKHJsnT5Ttv3YAAgiGllTk6UOXNNAvVYrsooOCtEleTo3mgYzQIVAKpq
J0lF6GQjczTFCtsdf72zkPB/AoGAbiE7aSoXDKd7xhmePK9RQ+w69iKw4hTTx9v5
kBz0NBclrqAwh91wFdOk7Lb7YctYEwZIdsZPs+nvAg3oJiF/AuhLcX7dr08UEBUf
rOI4uEqywEinaA/l7mwe5VXUFx8jd1mX73LRTXL8AZv4gvWCzN2ecrdjuN9dlM2Y
u+9KsXECgYEAydr3ASCuMo5D7J2K3g/oTVlMljdZniZajyrDHdby8GknDnJRJ/7l
7pGBm+87GxySLtdhjUmj1uIFsPPe1/VLeRj4qIwolmfzS/YfHqkZtQEMvHaJoajA
VpBMjRzxiIB5CRmiaSq3pKvvv6C1MgCiY/MND4JYqrP2QHkr3zQv5MMCFDipaLGU
AVyCQ+ftpuQKTpZ2MLIe
-----END DSA PRIVATE KEY-----

Так выглядит открытый ключ:

ssh-dss AAAAB3NzaC1kc3MAAACBAMwbMRjBQBx8OvyQJE0MU/Vlgl9UeKh68D4bx52g78ie\
B8voTKnWE2PoNiMhk0vNfEiRtnlon7QszE7bKpAu2d1JGA2TVWwXmR2cRcvJ1DmeKV1rjs8u\
LomW+e58ocmydPlO2/dgACCIaWVOTpQ5c00C9Viuyig4K0SV5OjeaBjNAAAAFQCqaidJRehk\
I3M0xQrbHX+9s5DwfwAAAIBuITtpKhcMp3vGGZ48r1FD7Dr2IrDiFNPH2/mQHPQ0FyWuoDCH\
3XAV06Tstvthy1gTBkh2xk+z6e8CDegmIX8C6Etxft2vTxQQFR+s4ji4SrLASKdoD+XubB7l\
VdQXHyN3WZfvctFNcvwBm/iC9YLM3Z5yt2O4312UzZi770qxcQAAAIEAydr3ASCuMo5D7J2K\
3g/oTVlMljdZniZajyrDHdby8GknDnJRJ/7l7pGBm+87GxySLtdhjUmj1uIFsPPe1/VLeRj4\
qIwolmfzS/YfHqkZtQEMvHaJoajAVpBMjRzxiIB5CRmiaSq3pKvvv6C1MgCiY/MND4JYqrP2\
QHkr3zQv5MM= user@kubuntu
(Для удобства чтения открытый ключ я разделил на несколько строк символом \. Открытый ключ весь записывается в одну строку)

Обратите внимание на запись "user@kubuntu" в конце открытого ключа.

Важно: если вы потеряли открытый ключ, а потом восстановили его, то вам нужно дописать в конце открытого ключа пробел и некоторое слово (обычно ваше имя или ник), в противном случае gitosis откажется инициализироваться командой gitosis-init !

Инициализация gitosis

Для gitosis в линуксе я рекомендую создать нового пользователя git.

Теперь, когда вы создали пользователя, проинсталлировали git-core и проинсталлировали gitosis, вам надо инициализировать gitosis. Для этого выполняем:

sudo -H -u git gitosis-init < путь_до_публичного_файла_ключа.pub
Помните, что в публичном ключе должно быть указано ваше имя в конце через пробел.

Заключение

На этом список заметок по установке завершён. Я указал самые важные моменты, с которыми мне пришлось столкнуться

Комментариев нет:

Отправить комментарий