web-dev-qa-db-ja.com

SCP許可が拒否されました(公開鍵)。ディレクトリで-rフラグを使用する場合のみEC2で

scp -r /Applications/XAMPP/htdocs/keypairfile.pem uploads ec2-user@publicdns:/var/www/html

uploadsはディレクトリであり、Permission denied(publickey)を返します。

しかしながら

scp -i /Applications/XAMPP/htdocs/keypairfile.pem footer.php ec2-user@publicdns:/var/www/html

動作します(フラグの変更に注意してください)。

アップロードは空のフォルダーです

これらは、アップロードディレクトリのファイルアクセス許可です。

drwxrwxrwx 3 geoffreysangston admin 102 Nov 15 01:40 uploads

これらは/ var/www/htmlのファイル許可です

drwxr-x--- 2 ec2-user ec2-user 4096 Jan 5 20:45 html

Htmlを777に変更しようとしましたが、どちらも機能しません。

46
user3015797

-iフラグは、使用する秘密キー(.pemファイル)を指定します。 (最初のコマンドのように)そのフラグを指定しない場合、デフォルトのsshキー(通常は~/.ssh/の下)が使用されます。

したがって、最初のコマンドでは、scpにデフォルトのsshキーを使用して.pemファイル自体をアップロードするように実際に要求しています。私はそれがあなたが望んでいるとは思わない。

代わりに試してください:

scp -r -i /Applications/XAMPP/htdocs/keypairfile.pem uploads/* ec2-user@publicdns:/var/www/html/uploads
99
David Levesque

上記のソリューションが機能しない場合でも、aws ec2インスタンスの宛先ファイルへのアクセス許可を確認してください。 Sudo chmod 777 -R destinationFolder/*で試すことができます

ローカルホストからリモートホストへのファイルの転送

scp -i(キーのパス)(転送するファイルのパス)(username @ ip):(コピーするファイルのパス)

e.g scp -i aws.pem /home/user1/Desktop/testFile   ec2-user@someipAddress:/home/ec2-user/

追伸-このIPアドレスのec2-user @ someipAddressは、私の場合は/ home/ec2-user /の宛先フォルダーにアクセスする必要があります。

16
GKV

ファイル/Applications/XAMPP/htdocs/keypairfile.pemec2-user@publicdns:/var/www/htmlにアップロードする場合は、次のようにします。

scp -Cr /Applications/XAMPP/htdocs/keypairfile.pem/uploads/ ec2-user@publicdns:/var/www/html/

どこ:

  • -C-データを圧縮する
  • -r-再帰的
2
archetipo