ファイルをec2インスタンスに転送しようとしています。私はAmazonのドキュメントに従いました。これは私のコマンドのようです。
scp -i [the key's location] Documents/[the file's location] ec2-user@[public dns]:[home/[destination]]
すべての変数を適切なものに置き換えました。正しいキーであり、許可が400であると確信しています。コマンドを呼び出すと、RSAキーフィンガープリントが通知され、接続を続行するかどうかを尋ねられます。 「はい」と入力すると応答します
Permission denied (publickey,gssapi-with-mic)
lost connection
スタックオーバーフローに関する他の同様の質問の多くを見てきましたが、正しい方法を見つけることができません。
また、sshトラフィックはポート22で有効になっています。
Amazonが提供する例は正しいです。フォルダーのアクセス許可の問題のようです。コピー先のフォルダーを別のユーザーまたは別のユーザーが作成した場合、そのフォルダーにコピーまたは編集する権限がない可能性があります。
Sudoの能力がある場合は、自分でアクセスを開いてみてください。このままにしておくことはお勧めしませんが、次のコマンドを試すことができます。
Sudo chmod 777 /folderlocation
これにより、すべてのユーザーに完全な読み取り/書き込み/実行の許可が与えられます(したがって、777のままにしないでください)が、scpコマンドをテストして許可を除外する機会が与えられます。
その後、アクセス権に慣れていない場合は、それを読んでみることをお勧めします。これは一例です: http://www.tuxfiles.org/linuxhelp/filepermissions.html 保持されている情報の種類に応じて、できる限りフォルダをロックダウンすることをお勧めします。
それが原因ではない場合、他に確認したいことがあります。
幸運を祈ります。
問題はユーザー名である可能性があります。ファイルをAmazonインスタンスにコピーし、最初にコマンドを使用しようとしました。
scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~
エラー:許可が拒否されました(公開キー)。
次に、インスタンスがUbuntu環境であり、ユーザーユーザーが「ubuntu」であることに気付きました。
scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test [email protected]:~
ファイル「empty.test」は、テキスト「testing ...」を含むテキストファイルです。仮想サーバーのアドレスを、インスタンスのパブリックDNSの正しいアドレスに置き換えます。インスタンスのIPをxx.yy.zz.ttに置き換えました。
Sshで端末にubuntu @が表示されていたときに、端末に表示される名前に変更してみてください。ec2-user@ではなく、ubuntu @を使用しなければなりません
また、コンピューターにpemファイルのアクセス許可を設定する必要があります
chmod 400 /path/my-key-pair.pem
以下のコードは、コンピューターからEc2インスタンスにファイルをコピーします。
scp -i ~/location_of_your_ec2_key_pair.pem ~/location_of_transfer_file/sample.txt ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/folder_to_which_it_needs_to_be_copied
以下のコードは、Ec2インスタンスからコンピューターにファイルをコピーします
scp -i ~/location_of_your_ec2_key_pair.pem ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/location_of_transfer_file/sample.txt ~/folder_to_which_it_needs_to_be_copied
間違ったユーザー名を使用している可能性があります。偶然にも、同じエラーメッセージ->許可が拒否されました(publickey、gssapi-keyex、gssapi-with-mic)。接続が切れました
私は同じ問題に直面していました。これがあなたのために働くことを願っています。
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
この作業を行うには、許可も正しい必要があります。