質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

解決済

EC2にCapistranoを導入して自動デプロイの確認中にsshのエラーが発生しました。ssh-add -l で確認してもsshを確認することが出来ませんでした。

yutaro_0529
yutaro_0529

総合スコア0

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

1回答

0評価

0クリップ

830閲覧

投稿2020/11/10 07:12

編集2022/01/12 10:58

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Ruby on railsで個人アプリを制作し、
AWS EC2 に手動でデプロイできるようになり、
自動デプロイさせる最後の確認のため、bundle exec cap production deployを行うとエラーが発生しました。

■■な機能を実装中に以下のエラーメッセージが発生しました。

terminal

uraokayuutarou@uraokayuutarou-no-MacBook nostalgia % raokayuutarou@uraokayuutarou-no-MacBook nostalgia % bundle exec cap production deploy #<Thread:0x00007fc402b5a6f8@/Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/runners/parallel.rb:10 run> terminated with exception (report_on_exception is true): Traceback (most recent call last): 12: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 11: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:31:in `run' 10: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:31:in `instance_exec' 9: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/capistrano-rbenv-2.2.0/lib/capistrano/tasks/rbenv.rake:10:in `block (3 levels) in <top (required)>' 8: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:61:in `test' 7: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:148:in `create_command_and_execute' 6: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:148:in `tap' 5: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/abstract.rb:148:in `block in create_command_and_execute' 4: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/netssh.rb:130:in `execute_command' 3: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/netssh.rb:177:in `with_ssh' 2: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/connection_pool.rb:63:in `with' 1: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/backends/connection_pool.rb:63:in `call' /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/net-ssh-6.1.0/lib/net/ssh.rb:268:in `start': Authentication failed for user Yutaro.Uraoka@54.248.24.69 (Net::SSH::AuthenticationFailed) 1: from /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/runners/parallel.rb:11:in `block (2 levels) in execute' /Users/uraokayuutarou/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.0/lib/sshkit/runners/parallel.rb:15:in `rescue in block (2 levels) in execute': Exception while executing as Yutaro.Uraoka@54.248.24.69: Authentication failed for user Yutaro.Uraoka@xx.xxx.xx.xx (SSHKit::Runner::ExecuteError) (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as Yutaro.Uraoka@xx.xxx.xx.xx: Authentication failed for user Yutaro.Uraoka@xx.xxx.xx.xx Caused by: Net::SSH::AuthenticationFailed: Authentication failed for user Yutaro.Uraoka@xx.xxx.xx.xx Tasks: TOP => rbenv:validate (See full trace by running task with --trace) uraokayuutarou@uraokayuutarou-no-MacBook nostalgia %

試したこと

まずMysquelに接続できていないかもとエラーログを確認し、
mariadbに接続し直しました。
その後のbundle exec cap production deployを行うと、
sshでエラーが発生しているとterminalをみて考え、
sshを追加しようと、ssh-add ~/.ssh/hoge.pemを実行してみましたが、
うまくいかず質問させていただきました。

ssh-copy-id を使用して登録しようとしても手動で登録しようとしてもうまくいきませんでした。
秘密鍵はキーペアで作成しているものの、公開鍵はどう設定して良いのかわからない状態で終了しています。

terminal

uraokayuutarou@uraokayuutarou-no-MacBook .ssh % ssh -i xxxxxxxx.pem ec2-user@54.248.24.69 Last login: Tue Nov 10 06:24:37 2020 from 137.140.5.103.wi-fi.wi2.ne.jp __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-172-31-45-251 ~]$ sudo systemctl start mariadb [ec2-user@ip-172-31-45-251 ~]$ sudo systemctl restart nginx Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. [ec2-user@ip-172-31-45-251 ~]$ sudo systemctl start nginx Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. [ec2-user@ip-172-31-45-251 ~]$ ps aux | grep unicorn ec2-user 23647 0.0 0.0 119436 968 pts/5 S+ 06:41 0:00 grep --color=auto unicorn [ec2-user@ip-172-31-45-251 ~]$ ssh-add ~/.ssh/hoge.pem Could not open a connection to your authentication agent. [ec2-user@ip-172-31-45-251 ~]$ chmod 600 xxxxxxxxx.pem chmod: `nostalgia2020.pem' にアクセスできません: No such file or directory [ec2-user@ip-172-31-45-251 ~]$ cd ~ [ec2-user@ip-172-31-45-251 ~]$ cd .ssh/ [ec2-user@ip-172-31-45-251 .ssh]$ ls authorized_keys id_rsa id_rsa.pub known_hosts [ec2-user@ip-172-31-45-251 .ssh]$ chmod 600 xxxxxxxxxx.pem chmod: `nostalgia2020.pem' にアクセスできません: No such file or directory [ec2-user@ip-172-31-45-251 .ssh]$ exit ログアウト Connection to 54.248.24.69 closed. uraokayuutarou@uraokayuutarou-no-MacBook .ssh % ssh -i xxxxxxxxxx0.pem ec2-user@54.248.24.69 Last login: Tue Nov 10 06:39:30 2020 from 137.140.5.103.wi-fi.wi2.ne.jp __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-172-31-45-251 ~]$ cd /var/www/nostalgia [ec2-user@ip-172-31-45-251 nostalgia]$ ssh-add ~/.ssh/hoge.pem Could not open a connection to your authentication agent. [ec2-user@ip-172-31-45-251 nostalgia]$

登録されているsshの鍵を確認しようとしましたが、
接続を開くことができませんでした。
個人開発のディレクトリに入って実行もしてみましたが、
同じエラー(Could not open a connection to your authentication agent.)が出てきました。

termnal

https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-172-31-45-251 ~]$ ssh-add -l Could not open a connection to your authentication agent. [ec2-user@ip-172-31-45-251 ~]$ cd /var/www/nostalgia [ec2-user@ip-172-31-45-251 nostalgia]$ ssh-add -l Could not open a connection to your authentication agent. [ec2-user@ip-172-31-45-251 nostalgia]$

terminal

https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-172-31-45-251 ~]$ mkdir .ssh mkdir: ディレクトリ `.ssh' を作成できません: File exists [ec2-user@ip-172-31-45-251 ~]$ touch .ssh/authorized_keys [ec2-user@ip-172-31-45-251 ~]$ chmod 700 .ssh [ec2-user@ip-172-31-45-251 ~]$ chmod 600 .ssh/authorized_keys [ec2-user@ip-172-31-45-251 ~]$ cat ~/.ssh/id_rsa.pub | ssh -i xxxxxxxxx.pem ec2-user@xx.xxx.xx.xx 'cat >> .ssh/authorized_keys' Warning: Identity file xxxxxxx.pem not accessible: No such file or directory. The authenticity of host '54.248.24.69 (54.248.24.69)' can't be established. ECDSA key fingerprint is SHA256:lLzqkqg3f5NLltGU++DHfcxavWesbyq92o4DDfV3Iw8. ECDSA key fingerprint is MD5:e0:7f:2f:a5:50:eb:3f:45:bc:b7:bf:31:8d:47:50:34. Are you sure you want to continue connecting (yes/no)? y Please type 'yes' or 'no': y Please type 'yes' or 'no': y Please type 'yes' or 'no':

補足情報(FW/ツールのバージョンなど)

設定ファイル
Capfile

# Load DSL and set up stages require "capistrano/setup" # Include default deployment tasks require "capistrano/deploy" # Load the SCM plugin appropriate to your project: # # require "capistrano/scm/hg" # install_plugin Capistrano::SCM::Hg # or # require "capistrano/scm/svn" # install_plugin Capistrano::SCM::Svn # or require "capistrano/scm/git" install_plugin Capistrano::SCM::Git # Include tasks from other gems included in your Gemfile # # For documentation on these, see for example: # # https://github.com/capistrano/rvm # https://github.com/capistrano/rbenv # https://github.com/capistrano/chruby # https://github.com/capistrano/bundler # https://github.com/capistrano/rails # https://github.com/capistrano/passenger # # require "capistrano/rvm" # require "capistrano/rbenv" # require "capistrano/chruby" # require "capistrano/bundler" # require "capistrano/rails/assets" # require "capistrano/rails/migrations" # require "capistrano/passenger" require "capistrano/setup" require "capistrano/deploy" require 'capistrano/rbenv' require 'capistrano/bundler' require 'capistrano/rails/assets' require 'capistrano/rails/migrations' require 'capistrano3/unicorn' # Load custom tasks from `lib/capistrano/tasks` if you have any defined Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }

config/deploy.rb

# capistranoのバージョンを記載。固定のバージョンを利用し続け、バージョン変更によるトラブルを防止する lock '3.14.1' set :application, 'nostalgia' set :repo_url, 'git@github.com:uraokayutaro1990/nostalgia.git' set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads') set :rbenv_type, :user set :rbenv_ruby, '2.6.5p114' # どの公開鍵を利用してデプロイするか set :ssh_options, auth_methods: ['publickey'], keys: ['~/.ssh/xxxxxxxxxx.pem'] set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" } set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" } set :keep_releases, 5 after 'deploy:publishing', 'deploy:restart' namespace :deploy do task :restart do invoke 'unicorn:restart' end end

config/deploy/production.rb

server 'xx.xxx.xx.xx', user: 'Yutaro.Uraoka', roles: %w{app db web}

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。