前提
- EC2インスタンスへSSH接続する前提です
- SSH鍵を取得できている前提とします
- 以下の手順2以降は自身のローカルターミナルで実行します
1. EC2インスタンスのパブリックIPアドレスを取得
ダウンロードしたいファイルが存在しているEC2インスタンスのパブリックIPアドレスを取得します。
2. ターミナルでIPアドレスを変数に格納
$ export EC2_PUB_IP=____________
以下のように実行すると、変数に格納できているか確認できます。
$ echo ${EC2_PUB_IP}
3. SSH鍵が格納されているパスを変数に格納
$ export SSH_KEY_PATH=____________
以下のように実行すると、変数に格納できているか確認できます。
$ echo ${SSH_KEY_PATH}
#=> 例: /User/testuser/.ssh/xxxxxxxxxxxxx.pem
4. ダウンロードしたいファイルのパスを変数に格納
$ export FILE_PATH=____________
以下のように実行すると、変数に格納できているか確認できます。
$ echo ${FILE_PATH}
#=> 例: /var/log/eb-engine.log
5. ダウンロード先のディレクトリパスを変数に格納
$ export DOWNLOAD_DIR_PATH=____________
以下のように実行すると、変数に格納できているか確認できます。
$ echo ${DOWNLOAD_DIR_PATH}
#=> 例: /User/testuser/Download
6. コマンド実行
scp -i ${SSH_KEY_PATH} ec2-user@${ENV_IP}:${FILE_PATH} ${DOWNLOAD_DIR_PATH}
実行すると、以下のようにパスワードを求められるため、パスワードを入力します。
Enter passphrase for key '/User/testuser/.ssh/xxxxxxxxxxxxx.pem':
以下のように出力されていれば成功です。
eb-engine.log 100% 406KB 5.0MB/s 00:00
おまけ: ローカルPCにあるファイルをサーバーにアップロードする
アップロードしたいファイルのパスを変数(LOCAL_FILE_PATH)に格納して、以下のコマンドを実行します。
$ scp -i ${SSH_KEY_PATH} ${LOCAL_FILE_PATH} ec2-user@${ENV_IP}:/home/ec2-user