2012-01-04 3 views
2

GitHub 자체에 this article을 포함한 ssh 에이전트 포워딩을 사용하여 Capistrano가 GitHub에 연결하려면 내 개인 id_rsa 키를 내 서버에 업로드 할 필요가 없었습니다. 그러나 업로드 할 때까지 cap 배포는 GitHub에서 "Permission denied (publickey)"라는 오류 메시지를 표시하는 데 실패합니다.카피스트라 노가 GitHub와 함께 작동하도록하기 위해 개인 키를 내 서버에 업로드해야하는 이유는 무엇입니까?

약간의 설정 : 내 서버는 공유 된 Dreamhost 서버입니다. 나는 Windows에서 mysysgit Git Bash를 CLI로 사용하고 있습니다. 이전에 authorized_keys에 공개 키를 복사하여 Dreamhost 서버에 대한 암호없는 ssh 로그인을 설정했습니다. 내 dev에서 GitHub에 밀어 수 있습니다. 또 다른 증상은 내 상자에서 GitHub로 ssh 할 수 있지만 서버에서 위와 같은 오류가 발생했습니다. 이 문제를 해결하기 위해 내 개인 키를 업로드하는 것에 대해 알려 주셨습니다. 그러나 나는 그것을 이해할 때 필요하지 않아야한다.

여기 내 deploy.rb입니다 :

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

# source 
set :scm, :git 
set :repository, "[email protected]:#{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

에이전트 전달은 net-ssh gem에서 처리합니다. 1.1.0 이상으로 업데이트하려고 했습니까?

+0

그래, 몰랐어. net-ssh의 2.2.1 버전은 내 Gemfile.lock에있다. –

+0

관련이있는 경우 net-ssh-gateway 1.1.0도 있습니다. –

+1

서버에서 전달 기능을 사용할 수 있습니까 (ssh_config의 ForwardAgent 지정 문)? – Jef