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

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

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

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

Q&A

解決済

1回答

2669閲覧

EC2(AWS)にローカルファイルをアップロードしたい

apiros

総合スコア20

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2019/08/11 07:22

前提・実現したいこと

AWSにEC2インスタンスを作成しました。
構築したWordPressもドメインでアクセスするとブラウザ表示できており、機能はしています。
こちらにローカルのファイル(products.js)をアップロードしたいです。

$scp -i <keyのパス> <ローカルファイルのパス> ec2-user@<IPアドレス>:<送信先のパス>

に従ってターミナルから以下のコマンドを実行しました。
Apatche配下に置こうと思い、/var/www/hrmlを送信先のパスにしています。

[ホームディレクトリ]$ scp -i ~/Desktop/●●●.pem ~/Desktop/Vue/products.js ec2-user@01.23.456.789:/var/www/html

しかしエラーメッセージが出てうまくいきません。

発生している問題・エラーメッセージ

scp: /var/www/html/products.js: Permission denied

[ホームディレクトリ]$ scp -i ...
と、ホームディレクトリで実行していることが誤っているのかと、
sshでEC2に接続したのち、
[ec2-user@ip-●●● ~]$ scp -i ...を実行したところ以下のエラーが出ました。

Warning: Identity file /home/ec2-user/Desktop/●●●.pem not accessible: No such file or directory. The authenticity of host '01.23.456.789 (01.23.456.789)' can't be established. ECDSA key fingerprint is *****************. ECDSA key fingerprint is *****************. Are you sure you want to continue connecting (yes/no)? (***の部分は英数字と記号。)

何が誤っているのでしょうか?
ご回答お願いいたします。

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

mac/terminal使用。

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

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

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

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

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

guest

回答1

0

ベストアンサー

転送方法は最初の方法であっています。

scp: /var/www/html/products.js: Permission denied

というのは ec2-user には /var/www/html/ に書き込む権限が無いよ、ということです。
ec2-user 権限なのは scp で ec2-user@ としているから。

どういう permission なら良いかというのは、色々悩ましいですが、、、
非常にやっつけでやるならば、

# ec2上で sudo chmod 777 /var/www/html # もし /var/www/html/products.js が既に存在しているなら以下のようにする sudo chmod 777 /var/www/html/products.js

とかしてしまうことです。

※ 本来なら他のファイルの owner や permission にあわせて置くほうが良いと思います。

投稿2019/08/11 07:38

編集2019/08/11 07:40
mokemokechicken

総合スコア948

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

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

apiros

2019/08/11 08:01

mokemokechikenさん ご回答ありがとうございます。 内容、よく分かりました。 >本来なら他のファイルの owner や permission にあわせて置くほうが良いと思います。 sudo chown apache:apache /var/www/html/ -R を以前実行していたことを確認できたため、 [ホームディレクトリ]$ scp -i ~/Desktop/●●●.pem ~/Desktop/Vue/products.js apache@01.23.456.789:/var/www/html で実行し直すと、以下のエラーが出ました。 apache@01.23.456.789: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection sudo chmod 777にして実行した方が良いでしょうか? なんども失礼いたします。
mokemokechicken

2019/08/11 08:05

scp で apache@ としても たぶん ssh鍵は ec2-user のものなので今度はSSHの段階でエラーになりますね。 例えば、 scp では ec2上の /tmp/products.js へ転送して、 その後 ec2上で sudo mv /tmp/products.js /var/www/html/ sudo chown apache:apache /var/www/html/ -R などとすると、辻褄はあうと思います。
apiros

2019/08/11 08:26 編集

mokemokechickenさん!!! 教えていただいた方法で無事、出来ました!!! とっっっっっっても嬉しいです。 どうもありがとうございました^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問