Почему мне пришлось загрузить свой закрытый ключ на мой сервер, чтобы Capistrano работал с GitHub? - PullRequest
2 голосов
/ 04 января 2012

Из того, что я прочитал, включая эту статью о самом GitHub, используя переадресацию агента ssh, мне не нужно было загружать мой личный ключ id_rsa на мой сервер, чтобы Capistrano мог подключиться к GitHub. Тем не менее, до тех пор, пока я не загрузил его, развертывание кэпа не получалось при попытке извлечь из GitHub сообщение «Отказано в доступе (publickey)».

Немного о моей настройке: мой сервер является общим сервером Dreamhost. Я на Windows использую mysysgit Git Bash в качестве моего CLI. Ранее я настроил вход по ssh без пароля на сервер Dreamhost, скопировав свой открытый ключ в authorized_keys. Я могу нажать на GitHub от моего разработчика. Другим симптомом было то, что я мог зайти в GitHub из своего ящика, но с сервера он выдал ту же ошибку, что и выше. Это предупредило меня о загрузке моего закрытого ключа для решения проблемы. Но это не должно было быть необходимым, насколько я понимаю.

Вот мой deploy.rb:

default_run_options[:pty] = true
set :domain, "myactualdomain"
set :user, "myusernameeverywhere"

# source
set :scm, :git
set :repository,  "git@github.com:#{user}/#{myreponame}.git"
set :branch, "master"
ssh_options[:forward_agent] = true
set :deploy_via, :remote_cache
set :scm_verbose, true

# deployment
set :use_sudo, false
set :deploy_to, "/home/#{user}/#{domain}"
role :web, "#{domain}"
role :app, "#{domain}"
role :db,  "#{domain}", :primary => true

Почему я должен был загрузить свой закрытый ключ? Есть ли способ справиться с этим там, где это не нужно?

1 Ответ

1 голос
/ 04 января 2012

Переадресация агента обрабатывается гемом net-ssh. Вы пытались обновить его до> = 1.1.0?

...