3

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  

私にとって奇妙に見えるのは、IP192.30.252.130が既知のホストのリストに追加されているという事実ですが、手動でsshを実行する前にこれを行ったことがあります。そして、私のサーバーの 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 clone を実行すると、パスフレーズが使用されることに気付きました。

[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': 

ミナが失敗したのはこれが原因だと思います。これは正常ですか?なぜパスフレーズを入力する必要があるのですか? どうすれば回避できますか?

アップデート

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 が機能していないように見えますか?

4

1 に答える 1