как мне развернуть свой сайт из репозитория gitolite на том же сервере?

Я использую Sinatra, Vlad the Deployer и Gitolite, пытаясь развернуть тестовый сайт на своем сервере. Моя установка gitolite работает нормально с точки зрения управления/создания репозиториев, отправки и клонирования и т. д., но когда я пытаюсь развернуть через Vlad на свой сервер, я продолжаю получать ошибку отказа в разрешении на

$ rake vlad:update

который возвращает

rake aborted!
execution failed with status 1:ssh mysite.com unmask 02 && cd ..........

мой файл vlad deploy.rb выглядит так

#deploy.rb

set :application, "mysite.com/sample-site"
set :user,        "me"
set :repository, "[email protected]:sample-site.git"
set :domain, "mysite.com"
set :deploy_to, "~/sites/#{application}"

Я думаю, что происходит то, что пользователь gitolite с именем «git» пытается клонировать репо с сервера, на котором оно находится, но не имеет надлежащих разрешений. Я подумал, что могу создать новую пару rsa для пользователя git, а затем просто добавить ее в список пользователей в моем ключевом каталоге gitolite, но с установкой gitolite вы больше не можете использовать ssh с «ошибкой PTY 0», которая кажется нормальный.

Когда я пытался клонировать репозитории с сервера на себя, т. е. клонировать git как меня из репозитория на сервере, меня спрашивали пароль для git@mysite, поэтому я пытался скопировать свой клиент id_rsa и id_rsa.pub на свой server, затем добавьте меня @mysite в качестве другого пользователя в моем клиенте gitolite-admin.conf. Когда я нажимаю это обновление, оно продолжает выдавать мне ошибку

Writing objects: 100% (4/4), 378 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: WARNING: a pubkey file can only have one line (key); ignoring [email protected]
remote:          Perhaps you're using a key in a different format (like putty/plink)?
remote:          If so, please convert it to openssh format using 'ssh-keygen -i'.
remote:          If you want to add multiple public keys for a single user, use
remote:          "[email protected]" file names.  See the "one user, many keys"
remote:          section in doc/3-faq-tips-etc.mkd for details.
remote: 
remote:         ***** WARNING *****
remote:         the following users (pubkey files in parens) do not appear in any access rules:
remote: [email protected]([email protected])
remote: 
remote:         ***** WARNING *****
remote:         the following users have no pubkeys:
remote: jon@mysite

Сначала я пытался добавить нового пользователя сервера с адресом [email protected], но потом решил, что переход на адрес [email protected] более чище и может решить некоторые проблемы. Теперь у меня есть какой-то артефакт от этого даже после удаления и/или переименования всего в самом ключе и имени ключей на [email protected]

Итак, где я нахожусь сейчас, так это в том, что я МОГУ клонировать с сервера, когда я вошел в систему как я, но он каждый раз запрашивает мой пароль id_rsa. Когда я вхожу в него, я могу скачать. Мои грабли vlad:update хотя и выдает те же ошибки что и при запуске.....

спасибо за любую помощь


person Jon Rose    schedule 05.02.2012    source источник


Ответы (1)


Я не могу конкретно прокомментировать vlad, но вам не нужно ничего делать с ключами для учетной записи git. Вам нужно настроить ключи для пользователя, от имени которого вы запускаете процесс. Кажется, это «пользователь»? Поэтому вам нужно создать rsa для пользователя на этом компьютере и специально добавить ключ паба.

Ошибка, которую вы видите в конце своего вопроса, — это несоответствие между ключами, которые gitolite видит в вашем каталоге ключей, и записями в вашем файле конфигурации. Все в keydir должно заканчиваться на .pub, и вы ссылаетесь на него в conf без .pub

person jdi    schedule 05.02.2012
comment
Спасибо за комментарий. Так вы имеете в виду, что я должен сгенерировать новый ключ rsa на сервере как пользователь git? Я могу использовать ssh и нажимать на свои репозитории с моей клиентской машины, но когда я запускаю функцию vlad:update, я получаю эту ошибку. Клонирование в /home/jon/sites/mysite.com/test-repo/scm/repo... Разрешение отклонено, попробуйте еще раз. Разрешение отклонено, попробуйте еще раз. Отказано в доступе (открытый ключ, пароль). фатальный: удаленный конец неожиданно повесил трубку. Я думаю, что это происходит из-за того, что какой-то vlad или git пытаются копировать файлы деполимеризации, но не имеют доступа к моему каталогу /sites. - person Jon Rose; 05.02.2012