¿Por qué tengo que upload mi key privada a mi server para que Capistrano trabaje con GitHub?

Por lo que he leído, incluido este artículo en GitHub, al usar reenvío de agente ssh, no debería haber necesitado upload mi key id_rsa privada a mi server para que Capistrano se conecte a GitHub. Sin embargo, hasta que lo cargue, la implementación de la tapa fallaría al tratar de extraer de GitHub diciendo "Permiso denegado (key pública)".

Un poco sobre mi configuration: mi server es un server compartido de Dreamhost. Estoy en Windows usando el mysysgit Git Bash como mi CLI. Anteriormente configuré el inicio de session ssh sin contraseña en el server Dreamhost copyndo mi key pública en authorized_keys. Puedo presionar a GitHub desde mi desarrollador. Otro síntoma era que podía ingresar a GitHub desde mi caja, pero desde el server daba el mismo error que el anterior. Eso me avisó sobre la carga de mi key privada para resolver el problema. Pero no debería haber sido necesario, tal como lo entiendo.

Aquí está mi deploy.rb:

default_run_options[:pty] = true set :domain, "myactualdomain" set :user, "myusernameeverywhere" # source set :scm, :git set :repository, "[email protected]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 

¿Por qué tengo que upload mi key privada? ¿Hay alguna manera de manejar esto donde eso no es necesario?

El reenvío del agente es manejado por la gem net-ssh. ¿Intentó actualizarlo a> = 1.1.0?