web-dev-qa-db-ja.com

SSHKit :: Runner :: ExecuteError

$ bundle exec cap production deploy

(インポートされたタスクに制限されたバックトレース)キャップは中止されました!
SSHKit :: Runner :: ExecuteError:
as executingPsara @ sakuraの実行中の例外:git終了ステータス:128 git stdout:何も書き込まれていませんgit stderr:権限が拒否されました(公開キー)。
致命的:リモートエンドが予期せずハングアップしました

SSHKit :: Command :: Failed:
git exit status:128
git stdout:何も書かれていません
git stderr:権限が拒否されました(公開鍵)。
致命的:リモートエンドが予期せずハングアップしました

タスク:TOP => git:check(タスクを--traceで実行して完全なトレースを表示)デプロイはエラーで失敗しました:
Psara @ sakuraとして実行中の例外:
git終了ステータス:128 git stdout:何も書き込まれていません
git stderr:権限が拒否されました(公開鍵)。

致命的:リモートエンドが予期せずハングアップしました

*

deploy.rb

セット:application、 'Psara'
set:repo_url、 '[email protected]:CBLaughter/psara.git'
set:deploy_to、 '/ home/Psara/Psara'
set:default_run_options、:pty => true

名前空間:デプロイする

after:restart、:clear_cache do on roles(:web)、in::groups、limit:3、wait:10 do#次のようなことができます:#release_path内で#実行:rake、 'cache:clear' #終了終了終了

終わり

set:ssh_options、{forward_agent:true、paranoid:true、keys: "〜/ .ssh/id_rsa"}

*

production.rb

セット:ステージ、:ステージング
set:Rails_env、:production

役割:app、%w {sakura}
ロール:web、%w {sakura}
ロール:db、%w {sakura}

サーバー 'sakura'、ユーザー: 'Psara'、ロール:%w {web app}、my_property:>:my_value

set:ssh_options、{
キー:%w(〜/ .ssh/id_rsa)、
forward_agent:false、}



この問題を解決するために私にできることを教えていただければ幸いです。

私はすでにbitbucketに公開鍵を追加していますが、機能しません。

*

SSHエージェント転送レポート


  1. [成功] repo_url設定しました

  2. [成功] ssh秘密鍵ファイルが存在します

  3. [成功] ssh-agentプロセスはローカルで実行されているようです

  4. [成功] ssh-agentプロセスはssh-addコマンドによって認識されました

  5. [成功] ssh-agentにssh秘密鍵が追加されました

  6. [成功]ローカルマシンからアクセス可能なアプリケーションリポジトリ

  7. [成功]パスワードなしのログインを使用するすべてのホスト

  8. [成功] forward_agentすべてのホストで問題ありません

  9. [成功] sshエージェントがリモートホストに正常に転送されました

  10. [成功]リモートホストからアクセス可能なアプリケーションリポジトリ


SSHエージェント転送が正しく設定されているようです!展開プロセスを続行できます。

すべてのテストで成功しましたが、同じエラーが発生します。

17
Shion Yamaguchi

マシンでssh-agentが実行されていることを確認してください。ssh転送を使用しているため、ローカルキーはbitbucketからリポジトリにアクセスしてクローンを作成できるはずです。次のコマンドでエージェントを実行できます。

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

Ssh-forwardingに関する詳細情報 ここで検索

手動で確認する必要があるその他のことは、サーバーにsshできること(公開鍵をサーバーの~/.ssh/authorized_keysに追加する必要があります)ともちろん、リポジトリをローカルで複製できることです(おそらくこれを行うことができます) )。

更新:

これで、本番用に転送をオンにすることに気づきました。その場合は、サーバー上にあるキーペア(転送がオフになっているため、キーペアが必要です)がbitbucketからリポジトリを複製できることを確認する必要があります。手作業でサーバーに複製する。

50
rastasheep

バックトレースが言うように、これはおそらくSSH公開鍵に関連しています。 capistrano-ssh-doctor の問題のトラブルシューティングをお勧めします。セットアップで何が問題だったかを正確に伝えるレポートが表示されます。

免責事項、私はcapistrano-ssh-doctorプラグインの作成者です。

3
user777337