EC2インスタンスにSSH接続する

EC2インスタンスSSH接続する

前回までで、EC2インスタンスに対して外部から接続できる準備が整いました。

復習すると、

(1)VPCに対してインターネットゲートウェイの設置

(2)VPCのルートテーブルの編集(インターネットゲートウェイ向けのルーティングを追加)

が必要でした。

あとポイントとして、サブネットは作成した時点ではパブリック/プライベートの区別は無く、上記設定をして初めてパブリックサブネットと呼べるようになります。

f:id:TOSHIOSHIMO:20190916202155p:plain

では、手元のPCからSSH接続を行いましょう。

左上のサービスをクリックし、EC2と入力します。

f:id:TOSHIOSHIMO:20190916202330p:plain

左側のメニューで、インスタンスをクリックします。

f:id:TOSHIOSHIMO:20190916202334p:plain

前回までで作成したEC2インスタンスを右クリックし、「接続」をクリックします。

f:id:TOSHIOSHIMO:20190916202342p:plain

すると、このような画面が出てきます。

今回は、手元のPC(Macを例します)から接続しますので、

接続:スタンドアロンSSHクライアント

を選択します。モザイクをかけている部分は、Elastic IPです。

f:id:TOSHIOSHIMO:20190916202347p:plain

ユーザー配下のホームディレクトリに、作成したキー「test.pem」を設置しておきます。

f:id:TOSHIOSHIMO:20190916202739p:plain

キーファイルのパーミッションを変更する

Macのターミナルを起動して、キーファイル「test.pem」のパーミッションを"400"に変更します。

もともとは"644"でしたので、このファイルの所有ユーザーから書き込み権限を外して、グループユーザーからの読み取り権限、第三者からの読み取り権限を外したことになりますね。

ここで、パーミッションに関することを今一度。

"rwx"の意味

 r: read

 w: write

 x: execute

"rwx"の固まりを数字で表現するために、以下のような表現をします。

 r : 4に対応

 w: 2に対応

 x: 1に対応

例)

読み取り権限と書き込み権限を付与したい場合

r(4) + w(2) = 6 と表現します

AWSというよりはLinuxの知識になるので、こちらの記事が参考になると思います。

eng-entrance.com

iMac:~ toshihirooshimo$ ls -la
-rw-r--r--@   1 toshihirooshimo  staff        1692  9 14 20:24 test.pem
iMac:~ toshihirooshimo$ chmod 400 test.pem
iMac:~ toshihirooshimo$ ls -la
-r--------@   1 toshihirooshimo  staff        1692  9 14 20:24 test.pem
iMac:~ toshihirooshimo$ ls -la
-r--------@ 1 toshihirooshimo staff 1692 9 14 20:24 test.pem

SSH接続を行う

では、SSHコマンドで接続してみましょう。

"-i" オプションは、秘密鍵ファイルの指定です。

webkaru.net

iMac:~ toshihirooshimo$ ssh -i "test.pem" ec2-user@xxx.xxx.xxx.xxx
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)?

"yes"を入力します。

 __| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$

無事ログインできました。次回はWebサーバーをインストールしていきます。