web-dev-qa-db-ja.com

2つのAmazon EC2サーバー間でSCPファイルを作成するにはどうすればよいですか?

私はAmazon AWSを利用しており、アカウントに2つのEC2インスタンスがあります。 SSH経由で内部プライベートIPを使用して別のEC2インスタンスにrsaキーを送信しようとしています。しかし、それは機能していません。

scp -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys2

何が問題なのか、またsshを使用して別のEC2アカウントにファイルを送信するにはどうすればよいですか。

3
Maca

ここでscp形式:

scp -i <key> <what_to_copy> <where_to_copy>

例には<what_to_copy>がありません。

ターゲットサーバーのセキュリティグループも確認してください。ソースサーバーのセキュリティグループまたは10.0.0.0/8ネットワークからの接続を許可する必要があります。

6
smith3v

これはauthorized_keysファイルを完全に置き換えるわけではないので、以前のアクセスでログインを続けることができます:

cat .ssh/id_rsa.pub | ssh -i key.pem [email protected] 'cat >>.ssh/authorized_keys'

ここで、「USER」は、実行しているAMIに応じて、「root」、「ec2-user」、または「ubuntu」になる場合があります。

または、最初に個人のSSHキーを使用してEC2インスタンスを起動するだけです。これについて私が書いた記事は次のとおりです。

個人のsshキーをAmazon EC2にアップロードする
http://alestic.com/2010/10/ec2-ssh-keys

2
Eric Hammond

おそらくインスタンスの10.x.x.x-ipを使用しています。これは機能しません。外部パスを使用します。 (何かのようなもの ec2-75-102-166-16.compute-1.amazonaws.com)。または、Elastic IPを接続して使用します。

1
Bart De Vos

今日も同じ問題がありました。いくつかのファイルのスクリプトは次のとおりです。

 #!/bin/bash

files=(

/var/www/test1.txt

/var/www/test2.txt

)

from="XXX"

to="YYY"

for i in "${files[@]}"

do

  scp -3 -i ~/.ssh/AAA.pem ubuntu@$from:$i ubuntu@$to:$i

done

これが役に立てば幸いです! :)

1
Nathan Rasch

キーを~/.sshに移動し、次に~/.ssh/config(またはそれに追加)でファイルを作成しました。

IdentityFile ~/.ssh/key.pem

これにより、キーの場所を指定せずにsshとscpを実行できます。

1
David