「まんがでわかるLinux」にて、SSHについてのページがあったので、理解を深めるために
AWS-EC2にSSH接続を試みてみました。
開発環境
- AWS-EC2
やったこと
- AWSのアカウントを発行
- AWS-EC2のインスタンスを起動するまで
- SSH接続実行
1.AWSのアカウントを発行
AWS-EC2は無料枠があり、無料枠を超えなければ課金発生対象外ということで、アカウントを発行。
EC2 は AWS 無料利用枠に含まれているので、無料で開始できます。これには、1 年間毎月 750 時間分の Linux および Windows の t2.micro インスタンス (t2.micro が利用できないリージョンでは t3.micro) が含まれています。無料利用枠内に抑えるには、EC2 マイクロインスタンスのみを使用してください。
ちなみに、AWSの動画内では課金についての説明をしてる部分があるので、気になる方は公式をチェック。
2.AWS-EC2のインスタンスを起動するまで
アカウントの発行が終わったので、いざEC2のインスタンスを立ち上げてみる。
こちらの記事を参考にしながら、インスタンスの起動をしてみました。
ステップ1:アプリケーションおよび OS イメージ (Amazon マシンイメージ)
最初から選択されているAmazon Linuxを利用。
AMIという表記が出てきますが…
Amazon マシンイメージ (AMI) は、AWS がサポートおよび管理するイメージで、インスタンスの起動に必要な情報を提供します。
インスタンスを起動するのに、必要なマシンイメージのことみたい。
dockerなんかを触ってる人は、AMIについてイメージがしやすそう。
ステップ2:インスタンスタイプ
t2.microを選択。
ステップ3:キーペア(ログイン)
デフォルトだと、キーペアがなしと表示されているので、ここで、「新しいキーペアの作成」を選択。
選択した後の画面はこんな感じ。
キーペアを入力し、今回はSSHで接続をするため、.pemを使用。
ちなみに、.pemと.PuTTYの違いは以下らしい。
OpenSSH で使用できる形式でプライベートキーを保存するには、[pem] を選択します。プライベートキーを PuTTY で使用できる形式で保存するには、[ppk] を選択します。
※秘密鍵は自動でダウンロードされるので、ダウンロードファイル確認してみてください。隠れファイルとなっているので、[cmd + shift + .] で表示されるはず。(macの場合)
ダウンロード後、.ssh配下にファイルを移動し、EC2_01.pemというネームに変更。
ステップ4:ネットワークの設定
この辺はデフォルトのままで。
ステップ5:ストレージを設定
こちらも、特に設定などはいじらず。
概要で、全ての工程を確認して問題なければ、インスタンスが起動される。
3.SSH接続実行
インスタンス作成後、下記画面が出るので、インスタンスIDをクリック。
インスタンスIDをクリック後、今回作成したインスタンスの情報がたくさん出てきます。
ここでは、接続ボタンを押します。
「SSHクライアント」をクリックすると、SSH接続を行う手順が記載あるので、その通りに実行していく。
今回は、わかりやすくするために秘密鍵のファイル名を変更しており、400の権限を与えることで、読み込み限定にしている。
chomod 400 EC2_01.pem
インスタンスのパブリックDNSを使用して、インスタンスに接続。
ssh -i ~/.ssh/EC2_01.pem ec2-user@{EC2-01のIP}
※秘密鍵を.ssh配下に移動させた後、秘密鍵から公開鍵を作成して、公開鍵を公開鍵用のファイル~/.ssh/authorized_keys
に記述している。(コマンドの解説は省略)
※以下エラーが出た場合、こちらの記事を参考にしてみてください。
エラーが出た時の記事をまとめました。
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
SSH接続成功!!!
これで、AWS-EC2のサーバー操作を自分のPC環境で行えるようになりました!!!
参考
参考図書