" />
本ページはプロモーションが含まれています。

スポンサーリンク

AWS

MacからEC2にターミナル接続し、SCPでファイル転送する

MacにはTeratermがありません。
標準のターミナルからsshコマンドを使ってターミナル接続をします。

準備として、pemファイルをダウンロードしておきましょう。

1.pemファイルの権限設定

% mv ~/Downloads/aws-keypair.pem ~/.ssh
% chmod 600 ~/.ssh/aws-keypair.pem

mvコマンドで、ダウンロードしたpemファイルを、ユーザーホームディレクトリ配下の.sshディレクトリに移動します。

chmod でpemファイルのパーミッションを600=所有者のみの読み書きに設定します。

2.ssh接続する

sshは標準でインストールされています。
あとは、sshコマンドを使ってログインしましょう。

構文

ssh [オプション] [リモートのユーザ]@[リモートのIPアドレス]

EC2へはオプションとして秘密鍵ファイルを指定します。

% ssh -V
OpenSSH_8.1p1, LibreSSL 2.7.3

% ssh -i ~/.ssh/aws-keypair.pem ec2-user@52.199.116.24
The authenticity of host '52.199.116.24 (52.199.116.24)' can't be established.
ECDSA key fingerprint is SHA256:aT2Ua9DCy682KiVLJbogZsdYYwr5Ao3vX9jyBk0NWWE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y       
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '52.199.116.24' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-37-175 ~]$ 

オプション

オプション説明
-i秘密鍵ファイルを指定する
sshコマンドのオプション

3.SCPでファイルを送信する

scpコマンドも標準でインストールされています。
ターミナルからそのまま送信できます。

構文

scp [オプション] [送信するファイル] [リモートのユーザ]@[リモートのIPアドレス]:[リモートのディレクトリ]

EC2へはオプションとして秘密鍵ファイルを指定します。

% ls
hoge.png

% scp -i ~/.ssh/aws-keypair.pem hoge.png ec2-user@52.69.102.113:~/

# EC2にログインして確認する
% ssh -i ~/.ssh/aws-keypair.pem ec2-user@52.69.102.113

$ ls
hoge.png

上記はec2-userのホームディレクトリ(「~/」の部分)に送信する例です。

オプション

オプション説明
-i秘密鍵ファイルを指定する。
scpコマンドのオプション

 

AWSでの環境構築で手間取ることはありませんか?環境構築にはLinuxの基礎知識が不可欠だと悟り、私はこの本でLinuxを勉強し直しました。

スポンサーリンク

-AWS