2012-02-05 3 views
0

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

$ rake vlad:update 

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

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

мой файл 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 пользователь, названный «мерзавец», он пытается клонировать репозиторий из s- где он живет, но не имеет соответствующих разрешений. Я думал, что я могу создать новую пару rsa для пользователя git, а затем просто добавить ее в список пользователей в моем gitolite keydir, но с установкой gitolite вы больше не можете ssh с «ошибкой PTY 0», которая, кажется, нормальный.

Когда я попытаюсь клонировать репозиции с сервера самому себе, то есть git clone as me из репо на сервере, мне будет предложено ввести пароль для git @ mysite, поэтому я попытался скопировать мой клиент id_rsa и id_rsa .pub на мой сервер, то добавьте меня @ 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: [email protected] 

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

Итак, теперь, когда я нахожусь, я МОЖЕТ клонировать с сервера при подписке как я, но каждый раз запрашивает мой пароль id_rsa. Когда я ввожу его, я могу скачать. Мой рейк влад: обновление, хотя получает одни и те же ошибки, когда я начинаю .....

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

ответ

0

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

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

+0

благодарит за комментарий. Итак, вы имеете в виду, что я должен генерировать новый ключ rsa на сервере как пользователь git? Я могу сделать ssh и нажать на мои репозиции с моей клиентской машины, но когда я запустил мою функцию vlad: update, я получаю эту ошибку. Клонирование в /home/jon/sites/mysite.com/test-repo/scm/repo ... Разрешение отклонено, повторите попытку. Разрешение отклонено, повторите попытку. Разрешение отклонено (публикация, пароль). фатальный: удаленный конец неожиданно повесил трубку. Я думаю, что это происходит потому, что некоторые из них, как vlad или git, пытаются копировать файлы деполяции, но не имеют доступа к каталогу my/sites. –