$ 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エージェント転送レポート
[成功]
repo_url
設定しました[成功] ssh秘密鍵ファイルが存在します
[成功]
ssh-agent
プロセスはローカルで実行されているようです[成功]
ssh-agent
プロセスはssh-add
コマンドによって認識されました[成功]
ssh-agent
にssh秘密鍵が追加されました[成功]ローカルマシンからアクセス可能なアプリケーションリポジトリ
[成功]パスワードなしのログインを使用するすべてのホスト
[成功]
forward_agent
すべてのホストで問題ありません[成功] sshエージェントがリモートホストに正常に転送されました
[成功]リモートホストからアクセス可能なアプリケーションリポジトリ
SSHエージェント転送が正しく設定されているようです!展開プロセスを続行できます。
すべてのテストで成功しましたが、同じエラーが発生します。
マシンでssh-agentが実行されていることを確認してください。ssh転送を使用しているため、ローカルキーはbitbucketからリポジトリにアクセスしてクローンを作成できるはずです。次のコマンドでエージェントを実行できます。
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
Ssh-forwardingに関する詳細情報 ここで検索 。
手動で確認する必要があるその他のことは、サーバーにsshできること(公開鍵をサーバーの~/.ssh/authorized_keys
に追加する必要があります)ともちろん、リポジトリをローカルで複製できることです(おそらくこれを行うことができます) )。
更新:
これで、本番用に転送をオンにすることに気づきました。その場合は、サーバー上にあるキーペア(転送がオフになっているため、キーペアが必要です)がbitbucketからリポジトリを複製できることを確認する必要があります。手作業でサーバーに複製する。
バックトレースが言うように、これはおそらくSSH公開鍵に関連しています。 capistrano-ssh-doctor の問題のトラブルシューティングをお勧めします。セットアップで何が問題だったかを正確に伝えるレポートが表示されます。
免責事項、私はcapistrano-ssh-doctor
プラグインの作成者です。