Из того, что я прочитал, включая эту статью о самом 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
Почему я должен был загрузить свой закрытый ключ? Есть ли способ справиться с этим там, где это не нужно?