5
3

More than 3 years have passed since last update.

【EC2】scpコマンドでローカルとEC2間でのファイル&フォルダのダウンロード方法

Posted at

scpコマンドとは?

scpコマンドはファイルやフォルダをSSHで暗号化しながら転送できるのことコマンドです。

ダウンロード前に行うこと

公開鍵(authorized_keys)の設置

公開鍵認証する場合、EC2で作成した公開鍵と秘密鍵のペア(拡張子は.pem)を公開鍵を接続ユーザのホームディレクトリ下~/.ssh/ に設置する必要があります。

Permissionの設定

公開鍵認証する場合、以下のようにPermissionを適切に設定する必要があります。
きちんと設定していないとscpコマンドの実行時にPermission Errorが発生します。

chmod 600 キーの名前.pem

これで事前準備は完了です。

ダウンロード方法

ローカルファイルをEC2へダウンロード

まずは、ローカルファイルをEC2上へダウンロードする方法を見ていきましょう。

$ cd .ssh/
$ scp -i [秘密鍵] [転送するファイルのパス] [EC2ユーザー名]@[パブリックIP]:[EC2上のコピー先のパス]

となります。
具体例は以下のようになります。

$ cd .ssh/
$ scp -i hello-key.pem ~/hello.html ec2-user@[パブリックIP]:/home/ec2-user

ローカルフォルダをEC2へダウンロード

次に、ローカルフォルダをEC2へダウンロードする方法です。
ローカルフォルダの場合、-iの前に−rをつけることでダウンロードすることができます。

$ cd .ssh/
$ scp -r -i [秘密鍵] [転送するフォルダのパス] [EC2ユーザー名]@[パブリックIP]:[EC2上のコピー先のパス]

具体例は以下のようになります。

$ cd .ssh/
$ scp -r -i hello-key.pem ~/hellodir ec2-user@[パブリックIP]:/home/ec2-user

EC2のファイルをローカルへダウンロード

次に、EC2のファイルをローカルへダウンロードする方法です。
最後にローカルの転送先フォルダのパスを指定します。

$ cd .ssh/
$ scp -i [秘密鍵]  [EC2ユーザー名]@[パブリックIP]:[EC2上の転送するファイルのパス] [ローカルの転送先フォルダのパス]

具体例は以下のようになります。

$ cd .ssh/
$ scp -i hello-key.pem ec2-user@[パブリックIP]:/home/ec2-user/hello.html /Users/home/

EC2のフォルダをローカルへダウンロード

最後に、EC2のフォルダをローカルへダウンロードする方法です。
-rをつける位置に注意しましょう。

$ cd .ssh/
$ scp -i [秘密鍵] -r [EC2ユーザー名]@[パブリックIP]:[EC2上の転送するファイルのパス] [ローカルの転送先フォルダのパス]

具体例は以下のようになります。

$ cd .ssh/
$ scp -i hello-key.pem ec2-user@[パブリックIP]:/home/ec2-user/hello.html /Users/home/

最後に

実行できたら、ターミナル上でダウンロードが開始されます。
ダウンロードが完了したら、sshコマンドを使い、EC2上へダウンロードをできているか確認しましょう。

ssh -i [秘密鍵] [EC2ユーザー名]@[パブリックIP]

上記のコマンドを実行することでログインできます。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3