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

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

新規登録して質問してみよう
ただいま回答率
85.35%
JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Amazon EC2

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

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

3365閲覧

EC2上にあるtomcatにjarファイルをデプロイしたい

kachikata96

総合スコア28

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Amazon EC2

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

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/07/03 04:17

編集2020/07/03 04:29

学習の一環として、Java8、SpringBootによる開発を行っております。
サーバーはAWSのEC2(OSはAmazonLinux2)を使用しています。
jarパッケージを生成し、EC2内のTomcatに配備し、プログラムを公開したいと思っています。

聞きたいところ

scp ~/***/***/jarファイルのパス ec2-user@リモート・ホスト名:/opt/tomcat/webapps

上記のコマンドでtomcatへのデプロイを試みましたが以下のようなメッセージが出てデプロイできませんでした。

The authenticity of host 'リモートホスト名' can't be established. ECDSA key fingerprint is SHA256:cekfK24plORn7tyrqGugaCcpmyTelO081bMnnjgtNOs. ECDSA key fingerprint is MD5:b0:cf:58:fa:eb:ca:b8:99:b6:c4:5a:1d:51:f0:18:fa. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'リモートホスト名' (ECDSA) to the list of known hosts. Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection

エラーメッセージを見るに権限がないため拒否されたようです。
ローカルからリモートへファイルをコピーするコマンドに間違いがあるのでしょうか?
そもそも、デプロイのやり方が間違っているのでしょうか?

初心者すぎる質問申し訳ありませんがどうかご教示ください。


設定

■ EC2

ElasticIPでパブリックIPアドレスを固定してあります。
セキュリティグループで 80 と 8080 番のポートを開放しています。
■ Apache

インストール :yumでインストール
バージョン:Apache2.4.41
設定  :自動起動設定を有効にしてあります。

■ Tomcat

インストール :wgetで最新版をインストール
バージョン:Tomcat9.0.34
設定  :サービス登録をし、自動起動設定を有効にしてあります。

■JDKインストール(java-1.8.0-openjdk java-1.8.0-openjdk-devel )


エラーログ

Jul 3 04:18:26 ip-172-00-00-46 sshd[18980]: Address 54.000.000.14 maps to ec2-54.000.000.14.ap-northeast-1.compute.amazonaws.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! Jul 3 04:18:26 ip-172-00-00-46 sshd[18980]: Connection closed by 54.000.000.14 port 49742 [preauth] Jul 3 04:18:52 ip-172-00-00-46 sshd[18984]: Address 54.000.000.14 maps to ec2-54.000.000.14.ap-northeast-1.compute.amazonaws.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! Jul 3 04:18:52 ip-172-00-00-46sshd[18984]: Connection closed by 54.250.194.14 port 49744 [preauth] Jul 3 04:19:39 ip-172-00-00-46 sshd[18988]: Address 54.000.000.14 maps to ec2-5 4.000.000.14.ap-northeast-1.compute.amazonaws.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! Jul 3 04:19:39 ip-172-00-00-46 sshd[18988]: Connection closed by 54.000.000.14 port 49746 [preauth]

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

エラー文にアクセス拒否となっているので、scp接続用のSSH鍵と/opt/tomcat/webappsのアクセス権限(ec2-user)を見直してはいかがでしょうか?

投稿2020/07/03 04:37

comefigo

総合スコア1051

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kachikata96

2020/07/03 04:44 編集

回答ありがとうございます。 アクセス権限を調べてみます。 デプロイの仕方自体はこのやり方で問題なさそうですか?
comefigo

2020/07/03 04:59

デプロイの方法(scpの扱い方)はそれで問題ないですね
kachikata96

2020/07/03 05:11

デプロイのやり方に確証が持てました。 ありがとうございます。 試しに.sshの権限をすべて開放してみました。 # ls -al total 36 dr-xr-x--- 3 root root 146 Jul 2 08:42 . dr-xr-xr-x 18 root root 257 Jul 1 02:35 .. -rw------- 1 root root 8533 Jul 2 13:37 .bash_history -rw-r--r-- 1 root root 18 Oct 18 2017 .bash_logout -rw-r--r-- 1 root root 176 Oct 18 2017 .bash_profile -rw-r--r-- 1 root root 176 Oct 18 2017 .bashrc -rw-r--r-- 1 root root 100 Oct 18 2017 .cshrc -rw------- 1 root root 269 Jul 2 08:42 .mysql_history drwxrwxrwx 2 root root 48 Jul 3 02:55 .ssh しかし、デプロイする結果は変わりませんでした。 アクセス権限の見直し方はこのやり方で会っているのでしょうか?
comefigo

2020/07/03 05:13

.sshフォルダ配下のSSH鍵の権限が大事なので、そちらを確認ください
kachikata96

2020/07/03 05:37

度々回答していただきありがとうございます。 今度は秘密鍵と公開鍵を作成して権限を全開にしてみました ls -al ~/.ssh total 16 drwx------ 2 root root 80 Jul 3 05:27 . dr-xr-x--- 3 root root 146 Jul 2 08:42 .. -rw------- 1 root root 551 Jul 1 02:36 authorized_keys -rwxrwxrwx 1 root root 1675 Jul 3 05:27 id_rsa -rwxrwxrwx 1 root root 434 Jul 3 05:27 id_rsa.pub -rw-r--r-- 1 root root 349 Jul 3 04:01 known_hosts しかし、デプロイの結果は変わりませんでした。
comefigo

2020/07/03 05:51

まず、フルオープンは危険です。そして、フルオープンにするとsshやscp使用時にエラーが発生します。なので、鍵には適切な権限を付与する必要があります。 .sshフォルダは700、ssh鍵は600が適切な権限ですね。 あと気になったのが、.sshフォルダ配下にconfigファイルがないようなので、scpコマンドに -i ssh鍵までのパスを追加する必要がありますね。 ちなみにscpの実行ユーザはrootですか?
kachikata96

2020/07/03 05:56 編集

フルオープンのご指摘ありがとうございます。 scpの実行ユーザはrootです。 scpコマンドに -i ssh鍵までのパスを追加やってみます。
kachikata96

2020/07/03 06:02

これでscpコマンドに -i ssh鍵までのパスを追加できたのでしょうか? ssh-copy-id -i ~/.ssh/id_rsa.pub <user name>@<ip address>:
comefigo

2020/07/03 06:06

scpコマンドではなくですか!?
kachikata96

2020/07/03 06:25

すみません、お恥ずかしながら勘違いしていました。 こういうことですね scp -i"/root/.ssh" -rjarファイルのパス ec2-user@リモート・ホスト名:/opt/tomcat/webapps 実行するとこのようになりました unknown option -- / usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2 成功したかと思いましたがwebapps下にjarファイルはありませんでした。 これは何が起きたのでしょうか?
comefigo

2020/07/03 06:33

エラー文に答えが書いてあります。 > -i"/root/.ssh" の -i と /root/.ssh/id_rsa の間に半角スペースが必要です。 鍵パスは鍵までのファイルパスを指定 そして、 > -rjarファイルのパス -r はなにでしょうか? 該当のパラメータはないのでエラーになっています。
kachikata96

2020/07/03 07:04

エラー文だったのですね。 usageはそのまま使いかたを指していてくれたのですね。 コマンドを修正して実行しました。 scp -i "/root/.ssh" jarファイルのパス ec2-user@リモート・ホスト名:/opt/tomcat/webapps Load key "/root/.ssh": Is a directory Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection .sshがキーのパスだと思っていましたが違うようですね。 こちらも試してみました。 scp -i "/root/id_rsa" jarファイルのパス ec2-user@リモート・ホスト名:/opt/tomcat/webapps Warning: Identity file /root/id_rsa not accessible: No such file or directory. Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection readlink -fコマンドでid_rsaのフルパスを調べたのですがこれも違うようでした。
kachikata96

2020/07/03 07:13

こちらのパターンも試してみました。 scp -i "~/.ssh/id_rsa" jarファイルのパス ec2-user@リモート・ホスト名:/opt/tomcat/webapps Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection エラーが減りましたが接続はできないようです。
comefigo

2020/07/03 07:21

> Permission denied (publickey,gssapi-keyex,gssapi-with-mic). エラー文は変わらずアクセス権限ですね。 SSH鍵のアクセス権限はどうなっていますか? -i の後は半角スペースになっていますか? そして、「"」は不要です。 ちなみに実行元の端末のOSはなにでしょうか?
kachikata96

2020/07/03 07:30

SSH鍵のアクセス権限は以下のようになっています。 drwx------ 2 root root 80 Jul 3 06:00 .ssh ls -al ~/.ssh total 16 drwx------ 2 root root 80 Jul 3 06:00 . dr-xr-x--- 3 root root 146 Jul 2 08:42 .. -rw------- 1 root root 551 Jul 1 02:36 authorized_keys -rw------- 1 root root 1675 Jul 3 05:27 id_rsa -rw------- 1 root root 434 Jul 3 05:27 id_rsa.pub -rw-r--r-- 1 root root 349 Jul 3 04:01 known_hosts 実行元の端末のOSはWindows10、リモートのOSはAmazonLinux2です。 半角スペースを確認してみました。
comefigo

2020/07/03 07:32

鍵のアクセス権限問題なさそうですね。 繰り返しになりますが、scpコマンドを実行する時の実行ユーザはrootですか? windows10上にVMを動かしているんですか?それともWSLですか?
kachikata96

2020/07/03 07:41

これはrootで実行しているということで合っていますか? [root@ip-111-11-11-11 ~]# scp -i ~/.ssh/id_rsa /Users/tanakatarou /jar ec2-user@11.111.111.11:/opt/tomcat/webapps OSのことは知識不足故正しく答えられなく申し訳ないです。 この答え方で合っているかわかりませんが EC2サーバーにAmazonLinux2OSがありteratermを使ってSSH接続して操作しています。
comefigo

2020/07/03 07:52

そういうことですね。 理解しました。 今までの操作手順の確認ですが、 1.TeratermからEC2に接続する 2.scpコマンドを実行している ← ここでエラーが発生している この認識でいいですか?
kachikata96

2020/07/03 07:56

そうですね。 EC2に接続は完了して一通りjavaプログラム動かす準備が終わったので いざローカルにあるjarファイルをec2上のtomcatにデプロイしようと scpコマンドを使ったらエラー発生という流れです。
comefigo

2020/07/03 08:02

であれば、そもそもその方法ではscpでファイル送信できませんですね。 ローカルというのはWindowsのことを指しているでよろしいですか? Teratermを使っているということなので、これを参考にしながら操作したほうが手っ取り早いかと思います。 https://www.j-oosk.com/teraterm/file-transfer/128/
kachikata96

2020/07/03 08:09

ローカルはwindowsのことで大丈夫です。 teratermの機能を使ってホームディレクトリにファイルを送信できました! 稚拙な質問に最後までお付き合いいただき本当にありがとうございました。 これで次進むことができます。
comefigo

2020/07/03 08:26

解決されてよかったです! 引き続き頑張ってください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問