

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# scp を使用して Lightsail の Linux インスタンス間でファイルを転送する
<a name="amazon-lightsail-transfer-files-between-linux-instances"></a>

Linux のセキュアコピー (scp) コマンドを使用して、ローカルコンピュータから Linux または Unix インスタンスに、および Amazon Lightsail 内のあるインスタンスから別のインスタンスにファイルを転送します。scp コマンドの詳細については、「*man7*」ウェブサイトの「[scp(1) — Linux manual](https://man7.org/linux/man-pages/man1/scp.1.html)」を参照してください。

このチュートリアルでは、ある Lightsail インスタンスから別のインスタンスにファイルをコピーする手順を説明します。

**Topics**
+ [前提条件](#amazon-lightsail-copy-files-to-linux-instance-prerequisites)
+ [ステップ 1: プライベートキー (.pem) ファイルをローカルコンピュータに保存する](#get-and-transfer-instance-ssh-key)
+ [ステップ 2: プライベートキーのアクセス許可を変更する](#copy-private-key-change-permissions)
+ [ステップ 3: プライベートキーをインスタンスに転送する](#copy-private-key-to-instance)
+ [ステップ 4: Lightsail Linux インスタンスと Unix インスタンス間でファイルを安全に転送する](#transfer-files-between-instances-scp)

## 前提条件
<a name="amazon-lightsail-copy-files-to-linux-instance-prerequisites"></a>
+ 両方の Lightsail インスタンスのパブリック IP アドレスで 2 つのインスタンスを実行しています。インスタンスのパブリック IP アドレスを取得するには。「[Lightsail コンソール](https://lightsail.aws.amazon.com/)」にサインインし、以下の例のように、インスタンスの横に表示されるパブリック IP アドレスをコピーします。
+ SSH キーペアを使用して両方のインスタンスにアクセスできます。詳細については、「[Linux インスタンスに接続する](lightsail-how-to-connect-to-your-instance-virtual-private-server.md)」を参照してください。

## ステップ 1: プライベートキー (.pem) ファイルをローカルコンピュータに保存する
<a name="get-and-transfer-instance-ssh-key"></a>

プライベートキー (.pem) ファイルをローカルコンピュータに保存するには、次の手順を実行します。ターゲットインスタンスのプライベートキーファイルは、あるインスタンスから別のインスタンスにファイルを安全に転送するために使用されます。同じ AWS リージョンのインスタンス間でファイルをコピーするには、そのリージョンのデフォルトキーを使用します。異なるリージョンのインスタンス間でファイルをコピーするには、ターゲットインスタンスがあるリージョンのデフォルトキーを使用します。キーポリシーの詳細については、[SSH およびインスタンスへの接続](understanding-ssh-in-amazon-lightsail.md) を参照してください。

**注記**  
独自のキーペアを使用している場合、または Lightsail コンソールを使用してキーペアを作成した場合は、プライベートキーを見つけ、それを使用してインスタンスに接続します。独自のキーをアップロードする場合または Lightsail コンソールを使用してキーペアを作成する場合は Lightsail はプライベートキーを保存しません。プライベートキーなしで scp を使用してインスタンスに接続することはできません。

**プライベートキー (.pem) をローカルコンピュータに保存するには**

1. [Lightsail コンソール](https://lightsail.aws.amazon.com/) にサインインします。

1. 上部のナビゲーションバーで **[ユーザー名]** を選択し、ドロップダウンメニューから **[アカウント]** を選択します。

1. [**SSH キー**] タブを選択します。

1. ページの [**Default keys**] (デフォルトキー) セクションまで下にスクロールします。

1. ファイルを転送したいインスタンスが配置されている AWS リージョン のデフォルトのプライベートキーの横にある **[ダウンロード]** を選択します。  
![Lightsail コンソールの SSH キーペア。](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/managing-key-pairs-download-default-key.png)

1. ローカルドライブのセキュリティが確保された場所にプライベートキーを保存します。

   ユーザーのホームディレクトリにある「Keys」フォルダなど、SSH キーが保存されているディレクトリに、ダウンロードしたキーを移動することも可能です。このガイドの次のセクションで、プライベートキーが保存されるディレクトリを参照する必要があります。プライベートキーが `.pem` 以外の形式で保存しようとした場合、保存する前に手動で形式を `.pem` に変更する必要があります。

## ステップ 2: プライベートキーのアクセス許可を変更する
<a name="copy-private-key-change-permissions"></a>

次の手順では、プライベートキーファイルの権限を変更して、お客様以外のユーザーが読み書きできないように変更します。

**プライベートキーのアクセス許可を変更するには**

1. ローカルマシンでターミナルウィンドウを開きます。

1. 次のコマンドを入力して、キーペアのプライベートキーが本人にしか読み書きできないようにします。これは、一部のオペレーティングシステムで要求される、セキュリティのベストプラクティスです。

   ```
   sudo chmod 400 {{/path/to/private-key}}.pem
   ```

   コマンドで `{{/path/to/private-key}}` を、インスタンスで使われるキーペアのプライベートキーが保存されている場所を向いたディレクトリパスに、置き換えます。

   **例**:

   ```
   sudo chmod 400 {{/Users/user/Keys/LightsailDefaultKey-us-west-2}}.pem
   ```

## ステップ 3: プライベートキーをインスタンスに転送する
<a name="copy-private-key-to-instance"></a>

次の手順では、ローカルコンピュータから scp コマンドを実行して、プライベートキーをソースインスタンスに転送します。

**scp を使用してプライベートキーをコンピュータからソースインスタンスに転送するには**

1. コンピュータ上のプライベートキーファイルの場所と、インスタンス上の送信先パスを決定します。次の例では、プライベートキーファイルの名前は {{private-key.pem}}、ソースインスタンスのユーザー名は {{ec2-user}}、ソースインスタンスの IPv4 アドレスは {{public-ipv4-address}}、ソースインスタンスの IPv6 アドレスは {{public-ipv6-address}} です。{{destination-path/}} は、プライベートキーを転送するソースインスタンスの場所です。
**注記**  
インスタンスで使用されるブループリントに応じて、以下のいずれかのユーザー名を指定できます。  
AlmaLinux OS 9、Amazon Linux 2、Amazon Linux 2023、CentOS Stream 9、FreeBSD、および openSUSE インスタンスの場合: `ec2-user`
Debian インスタンス: `admin`
Ubuntu インスタンス: `ubuntu`
Bitnami インスタンス: `bitnami`
Plesk インスタンス: `ubuntu`
cPanel & WHM インスタンス : `centos`
   + (**IPv4**) インスタンスにプライベートファイルを転送するには、コンピュータから次のコマンドを入力します。

     ```
     scp -i {{/path/private-key}}.pem {{/path/private-key}}.pem {{ec2-user}}@{{public-ipv4-address}}:{{path/}}
     ```
   + (**IPv6**) インスタンスが IPv6 アドレスのみを使用する場合、インスタンスにプライベートファイルを転送するには、コンピュータから次のコマンドを入力します。IPv6 アドレスは、(`\`) でエスケープした角かっこ (`[ ]`) で囲む必要があります。

     ```
     scp -i {{/path/private-key}}.pem {{/path/private-key}}.pem {{ec2-user}}@\[{{public-ipv6-address}}\]:{{path/}}
     ```

1. SSH を使用してインスタンスに接続していない場合は、次のようなレスポンスが表示されます。

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
   can't be established.
   RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
   Are you sure you want to continue connecting (yes/no)?
   ```

   **yes** と入力します。

1. 転送が成功した場合、レスポンスは以下のようになります。

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
   to the list of known hosts.
   private-key.pem                                100%   480     24.4KB/s   00:00
   ```

プライベートキーをソースインスタンスに転送したため、ターゲットインスタンスに安全に接続し、ファイルを転送できます。次の手順に進み、その方法を確認してください。

## ステップ 4: Lightsail Linux インスタンスと Unix インスタンス間でファイルを安全に転送する
<a name="transfer-files-between-instances-scp"></a>

次の手順では、あるインスタンス (**[ソースインスタンス]**) から scp コマンドを実行して、ファイルを別のインスタンス (**[ターゲットインスタンス]**) に転送します。

**scp を使用してインスタンスの間でファイルを転送するには**

1. SSH を使用して **[ソースインスタンス]** に接続します。接続するには、ローカルコンピュータのターミナルプログラムを使用するか、Lightsail でブラウザベースの SSH クライアントを使用します。詳細については、「[Linux インスタンスに接続する](lightsail-how-to-connect-to-your-instance-virtual-private-server.md)」を参照してください。

1. **[ソースインスタンス]** 上のファイルの場所と、**[ターゲットインスタンス]** 上の送信先パスを決定します。次の例では、プライベートキーファイルの名前は {{private-key.pem}}、インスタンスのユーザー名は {{ec2-user}}、インスタンスの IPv4 アドレスは {{public-ipv4-address}}、インスタンスの IPv6 アドレスは {{public-ipv6-address}} です。{{destination-path/}} は、ファイルを転送する **[ターゲットインスタンス]** 上の場所です。
   + (**IPv4**) **[ソースインスタンス]** から **[ターゲットインスタンス]** にファイルを転送するには、**[ソースインスタンス]** から次のコマンドを入力します。

     ```
     scp -i {{/path/private-key}}.pem {{/path/my-file.txt}} {{ec2-user}}@{{public-ipv4-address}}:{{destination-path/}}
     ```
   + (**IPv6**) **[ソースインスタンス]** から **[ターゲットインスタンス]** にファイルを転送するには、**[ソースインスタンス]** から次のコマンドを入力します。IPv6 アドレスは、(`\`) でエスケープした角かっこ (`[ ]`) で囲む必要があります。

     ```
     scp -i {{/path/private-key}}.pem {{/path/my-file.txt}} {{ec2-user}}@\[{{public-ipv6-address}}\]:{{destination-path/}}
     ```

1. SSH を使用して**[ターゲットインスタンス]** に接続していない場合は、次のようなレスポンスが表示されます:

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
   can't be established.
   RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
   Are you sure you want to continue connecting (yes/no)?
   ```

   **yes** と入力します。

1. 転送が成功した場合、レスポンスは以下のようになります。

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
   to the list of known hosts.
   my-file.txt                                100%   480     24.4KB/s   00:00
   ```