AWSの初学者です。
前回までで、Amazon VPCによる仮想ネットワークの構築とAmazon EC2によるインスタンスの作成まで行いました。
前回はこちら: Amazon EC2を利用した仮想サーバーの構築方法①(EC2インスタンス作成編)
今回はSSH接続を行います(私はMacを使用していますので、Windowsの場合は方法が異なる可能性があります。ご了承ください)。
SSH接続とは?
SSH(Secure Shell)とは、安全に通信を行って、ネットワークに接続された機器を遠隔操作するための通信手段(プロトコル)の1つです。「通信する側とされる側で、SSHでやり取りをしよう!」と取り決めることで安全に通信を行います。
参考記事: 初心者がSSHについて学ぶ(´・ω・`)
今回の場合、
「Amazon EC2で作成したインスタンスを、インターネットからログインして操作するためのプロトコル」
がSSH接続となります。
Macでは、ターミナルから「sshコマンド」を入力して、操作を行います。
SSH接続の手順
sshコマンドは、暗号化された通信をつかって、リモート通信を行うコマンドです。
基本の使い方は以下2点の通り。
・ssh オプション 接続先
・ssh オプション ログイン名@ 接続先 接続先で実行したいコマンド
参考: 【 ssh 】コマンド――リモートマシンにログインしてコマンドを実行する
それでは、ターミナルを起動し、以下のコマンドを入力します。
ssh -i ダウンロードしたキーペアファイル ec2-user@起動しているEC2インスタンスのパブリックIPアドレス
・ -iオプションとは?
→ 接続に使用する公開鍵ファイル(今回はダウンロードしたキーペアのファイル。拡張子が「.pem」のもの)を指定する。
「ダウンロードしたキーペアファイル」と「EC2インスタンスのパブリックIPアドレス」については、以下の記事で解説しています。
Amazon EC2を利用した仮想サーバー構築方法①(インスタンス作成編)
初めてインスタンスにログインする際には、以下のような接続を確認するメッセージが表示されるそうです。
「yes」と入力すれば進みます。
The authenticity of host ‘起動しているEC2インスタンスのパブリックIPアドレス' can't be established.
ECDSA key fingerprint is ○○○○.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
#もし以下のようなエラーが現れて接続できない場合...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '〇〇.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
上記のエラーは、「鍵ファイルのパーミッション(権限)が、他のユーザーも閲覧できる状態になっている」ために発生するそうです。
したがって、「AWSからダウンロードしたキーペアファイルを、自分以外は読み込めないようにする」という設定をする必要があります。
以下のコマンドを入力すれば、鍵ファイルを自分だけが読み込めるよう設定できます。
chmod 400 ダウンロードしたキーペアファイル
chmodコマンドの使い方については、以下の通りです。
chmod 権限設定 ファイルパス
(中略)
chmodはファイル or ディレクトリに対する権限を設定するコマンド。
ユーザー区分ごとに権限を設定できる。
参考: chmod コマンド
SSH接続に成功すれば、ウェルカムメッセージが表示され、コマンドを入力できる状態(ログイン状態)になります。
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
[ec2-user@ip-10-0-1-10 ~]$ コマンドを入力できる状態
ログアウトしたい場合は「exit」を入力すればログアウトできます。
以上で、SSH接続については完了です。
次回は「ファイアウォールによる接続制限」を行いたいと思います。
ここまで読んでいただきありがとうございました。