トンネルの利用

それでは、セキュアトンネリングを利用して EC2 インスタンスに SSH で接続してみましょう。

SSH でリモートホストに接続する前に、秘密鍵が必要になります。 この秘密鍵は EC2 インスタンスを立ち上げる際にすでに作成されており、ハンズオンの S3 バケットにコピーされています。

Cloud9 のターミナルで以下のコマンドを実行し、秘密鍵をコピーします。

cd ~/secure-tunneling

# copy the ssh private key to your AWS Cloud9 environment
aws s3 cp s3://$S3_BUCKET/ssh/sec-tunnel.key .
chmod 400 sec-tunnel.key

以下のコマンドで、リモートの EC2 インスタンスへ SSH で接続します。

ssh -i sec-tunnel.key -p 2333 ec2-user@localhost

Are you sure you want to continue connecting (yes/no)? と表示された場合は yes と入力します。

EC2 インスタンスにログインすると、ターミナルに以下のように表示されます。

  ______                                                                _
 / _____)                                   _                          | |
( (____  _____  ____ _   _  ____ _____    _| |_ _   _ ____  ____  _____| |
 \____ \| ___ |/ ___) | | |/ ___) ___ |  (_   _) | | |  _ \|  _ \| ___ | |
 _____) ) ____( (___| |_| | |   | ____|    | |_| |_| | | | | | | | ____| |
(______/|_____)\____)____/|_|   |_____)     \__)____/|_| |_|_| |_|_____)\_)

もし listener agent のログをみてみたい場合は、以下のコマンドを実行して確認できます。

cd /tmp
tail  -f listener-agent.log

以上で、セキュアトンネリングを利用してリモートデバイスへ接続することができました。