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

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

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

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

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

Q&A

解決済

1回答

6694閲覧

ローカルからAWSのEC2のサーバにファイル転送で"Permission denied"が出てしまう。

jun_endo

総合スコア56

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Amazon EC2

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

0グッド

0クリップ

投稿2018/06/07 01:00

##開発環境
・Mac OS
・AWS EC2

##ディレクトリ構造
鍵:desktop/nagonagoya.pem
ファイル転送元:desktop/Scheduler/index.php
ファイル転送先:/var/www/html

##聞きたいこと

AWSのEC2でローカルからサーバへファイル転送をしたいのですが、
色々調べて、下記の通り実施しましたが

ローカル$scp -i $HOME/.ssh/nagonagoya_key.pem /Users/ken016/Desktop/Scheduler/index.php ec2-user@{IPアドレス}.compute.amazonaws.com:/var/www/html

と実行しましたが、

Warning: Identity file /Users/ken016/.ssh/nagonagoya_key.pem not accessible: No such file or directory. ssh: Could not resolve hostname {IPアドレス}.compute.amazonaws.com: nodename nor servname provided, or not known lost connection

と印字されたので、
.ssh/nagonagoya_key.pem には、ファイルがないと言われる。
IPアドレスも違うと言われたので、

ec2-user@{パブリック DNS (IPv4)}.us-east-2.compute.amazonaws.com:/var/www/html``` と実行しました。 結果は `scp: /var/www/html/index.php: Permission denied` とアクセス拒否が出てしまいました。 まだ初めてで、何がどのように拒否されているのかがわからないので、 どうして、このようなエラーが出ているのかまで教えていただけると嬉しいです。 解答おまちしております。

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

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

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

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

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

guest

回答1

0

ベストアンサー

EC2 側で、/var/www/html の owner, group を調べましょう。(ls -la /var/www/html)
多分こんな感じになっていると思います。

drwxr-xr-x [数値] [文字列1] [文字列2] [数値] [日付] .

ここで文字列1は、このファイル/ディレクトリの所有者(owner)、文字列には所属グループ(group)を表しています。
そして先頭の drwxr-xr-x は、d rwx r-x r-x と分割して、
d これはディレクトリである
rwx 権限(r=read, w=write, x=execute)の有無。あれば該当する文字が、なければ - が表示される。
rwxr-xr-x は、それぞれ所有者、グループ、それ以外のユーザーに対応しています。

つまり上記の状態だと、「所有者は書き込めるが、グループユーザーあるいは一般のユーザーは書き込めない」という設定です。

ということは、このディレクトリの所有者が ec2-user ではない ならば、ec2-user はファイルを書き込むことができません。なので権限(Permission)により拒否(Denied)です。

方法としては、
/var/www/html のオーナーを ec2-user に変更する方がよいでしょう(sudo chown ec2-user /var/www/html)。一般ユーザーに書き込み権限を与えるのはあまりよいことではありませんから。

投稿2018/06/07 01:24

tacsheaven

総合スコア13703

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

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

jun_endo

2018/06/07 01:38

本来の問題とは、関係ないことをお聞きしたいのですが、 文字列1、2の両方'root'になっているのですが、 ここでの、rootはなんなのでしょうか? また、両方rootなのはどういう意味なのでしょうか?
tacsheaven

2018/06/07 01:47

root は root ユーザーという、Unix 系OS における特権ユーザー(Windows の Administrator と同様)です。(root ユーザーにのみ許される操作がある) で、両方root なのは、「所有者がroot ユーザーで、所属グループが root グループ」であるだけなので気にしないでください。
jun_endo

2018/06/07 01:50

ありがとうございます。 無事、転送することができました! また、何かの機会で見かけることがあったらよろしくお願いします。 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問