Mina部署:我已经设置了SSH,但无法连接到git@github.com

时间:2015-03-16 09:48:47

标签: ruby-on-rails github ssh mina

我尝试使用mina部署私有存储库。

我已经在我的服务器上生成了一个公共SSH密钥,然后我将其添加到我的GitHub用户。登录到我的服务器后,我可以git clone git@github.com:Access4all/a4aa2.git。但是从我的本地机器执行mina deploy时,我收到以下错误:

-----> Loading environment        
-----> Creating a temporary build path        
-----> Fetching new git commits        
       Warning: Permanently added the RSA host key for IP address '192.30.252.130' to the list of known hosts.
       Permission denied (publickey).
       fatal: The remote end hung up unexpectedly
 !     ERROR: Deploy failed.   
-----> Cleaning up build  

我觉得奇怪的是IP 192.30.252.130被添加到已知主机列表中,尽管我之前已经在手动ssh&ing之前已经这样做了。我的服务器的IP是192.30.252.130(bellatrix.uberspace.de)!

我的deploy.rb配置部分如下所示:

set :server_name, 'bellatrix'
set :user, 'a4aa2'
set :repository_name, 'a4aa2'

set :domain, "#{server_name}.uberspace.de"
set :deploy_to, "/home/#{user}/rails"
set :repository, "git@github.com:Access4all/#{repository_name}.git"
set :branch, 'master'

我在概念上是否理解错误?

更新

我刚注意到在进行手动git克隆时,密码短语是

[a4aa2@bellatrix tmp]$ git clone "git@github.com:Access4all/a4aa2.git"
Initialized empty Git repository in /home/a4aa2/tmp/a4aa2/.git/
Enter passphrase for key '/home/a4aa2/.ssh/id_rsa': 

我猜Mina因此失败了。这是正常的吗?为什么我要输入密码?我怎么能绕过它?

更新

根据Step 3: Add your key to the ssh-agent,我可以将密码保存到ssh-agent。

但似乎我不知道如何能够按照它所描述的方式保存它。

我可以这样添加:

[a4aa2@bellatrix tmp]$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/a4aa2/.ssh/id_rsa: 
Identity added: /home/a4aa2/.ssh/id_rsa (/home/a4aa2/.ssh/id_rsa)

然后我可以成功克隆存储库而无需输入密码。但在注销并再次登录后,我必须再次输入。不知怎的,ssh-agent似乎在会话之间不起作用?

1 个答案:

答案 0 :(得分:3)

我刚发现我的主机上不需要私钥/公钥对,因为我可以简单地激活mina的forward_agent选项:

set :forward_agent, true