私はAmazon AWSを利用しており、アカウントに2つのEC2インスタンスがあります。 SSH経由で内部プライベートIPを使用して別のEC2インスタンスにrsaキーを送信しようとしています。しかし、それは機能していません。
scp -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys2
何が問題なのか、またsshを使用して別のEC2アカウントにファイルを送信するにはどうすればよいですか。
ここでscp形式:
scp -i <key> <what_to_copy> <where_to_copy>
例には<what_to_copy>
がありません。
ターゲットサーバーのセキュリティグループも確認してください。ソースサーバーのセキュリティグループまたは10.0.0.0/8
ネットワークからの接続を許可する必要があります。
これは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
おそらくインスタンスの10.x.x.x-ipを使用しています。これは機能しません。外部パスを使用します。 (何かのようなもの ec2-75-102-166-16.compute-1.amazonaws.com
)。または、Elastic IPを接続して使用します。
今日も同じ問題がありました。いくつかのファイルのスクリプトは次のとおりです。
#!/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
これが役に立てば幸いです! :)
キーを~/.ssh
に移動し、次に~/.ssh/config
(またはそれに追加)でファイルを作成しました。
IdentityFile ~/.ssh/key.pem
これにより、キーの場所を指定せずにsshとscpを実行できます。