■インスタンスへSSH接続してみよう
今回は作成したインスタンス「Webサーバー」にSSHというプロトコルを使用してサーバーにログインしてみましょう。(これをSSH接続と言います)SSH接続することで実際に作成したインスタンスへログインしサーバーの中身を編集することが可能になります。
#目次
1.パブリックIPアドレスを確認する
2.MacからSSH接続する方法
3.もしログイン出来ない時
4.WindowsからSSH接続する方法
#1. パブリックIPアドレスを確認する
前回作成したインスタンスにはインターネット通信用の「パブリックIP」と、VPC内通信用の「プライベートIP」を設定しました。
SSH接続ではパブリックIPを使用してインターネットからログインして行くので、まずはインスタンスにアタッチされているパブリックIPを確認しましょう。
作成したインスタンスを選択して画面下に表示される「パブリックIPv4アドレス」の数字を見てください。
今回は「54.178.101.89」と記載があり、これがパブリックIPアドレスです。
※このパブリックIPアドレスは動的IPとなっており、インスタンスを起動するたびに変化してしまうので注意してください。
パブリックIPが分かったのでSSH接続していきます。
ここからは現在使用しているPCがWindowsかMacかで、SSH接続する方法が異なるのでツール別に見ていきます。
#2. MacからSSH接続する方法
Macの場合は最初から「ターミナル」というソフトが入っているので、それを使ってSSH接続していきます。
まずはターミナルを起動してください。
「Launchpad」を開き検索バーに「ターミナル」と入力するとターミナルが現れます。
ターミナルが開けたらまずは「My_Keypair.pem」ファイルを保存したディレクトリへ移動するので下記コマンドを入力してください。
cd {My_Keypair.pemファイルが保存してあるディレクトリ}
「My_Keypair.pem」ファイルが保存してあるディレクトリへ移動後、下記コマンドを入力しましょう。
ssh -i My_Keypair.pem ec2-user@54.178.101.89
※パブリックIPアドレス「54.178.101.89」の部分はご自身で作成したインスタンスのパブリックIPアドレスを入力してください。
上記コマンドを入力してEnterキーを押すと下記画像のように「yes/no」と求められるので、下記コマンドを入力後Enterキーを押してください。
yes
これでインスタンスへログインできれば下記画像のように「ec2-user@ip-10-0-1-10」と表示されます。
これは「ec2-user」というユーザーで、IPアドレス「10.0.1.10」にログインした、ということになります。
##3. もしログイン出来ない時
本手順通りにやってもログイン出来ずにエラーが出る場合があります。
その場合はググる(自分で調べる)のが一番成長になりますが、多く当てはまる原因の1つをこちらに書いておきます。
Warning: Identity file My_Keypair.pem not accessible: No such file or directory.
ec2-user@54.178.101.89: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
この場合まずやることはエラー文をそのままググってみること。
調べてみると、どうやらコマンド入力するディレクトリが悪かったことが判明しました。
このエラーが出た時にコマンド入力したディレクトリには「My_Keypair.pem」ファイルが存在せず、「ファイルが見つからないよー」とエラーが出ています。
なので「My_Keypair.pem」ファイルを保存したディレクトリまで移動して、再度コマンドを入力してみます。
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'My_Keypair.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "My_Keypair.pem": bad permissions
ec2-user@54.178.101.89: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
これは「My_Keypair.pem」ファイルのパーミッション(権限のこと)が他の人からも見れる状態になっているためこのようなエラーが発生しています。
なので下記コマンドを入力してファイルの権限を変更しましょう。
chmod 400 My_Keypair.pem
念のために下記コマンドでファイルの権限を確認しておきましょう。
ls -l My_Keypair.pem
これでファイルの権限が400(コマンド実行結果に「-r--------」と表示されてればOK)になったのが確認できます。
これで再びSSH接続してみると今度こそ接続できるはずです。
#4. WindowsからSSH接続する方法
まずはTeratermをインストールしましょう。
インストール方法については下記サイトに詳しく記載あったので参考にインストールしてください。
[Teratemのインストール方法参考サイト:https://eng-entrance.com/teraterm-install]
インストールできたらTeratemを起動してください。
起動したら下記のように入力をしてください。
・ホスト:インスタンスのパブリックIPを入力(今回はこちらのIPを入力します「13.231.89.89」)
・サービス:「SSH」を選択
他は全てデフォルトのまま「OK」をクリックしてください。
警告画面が出ますが「OK」をクリックしてください。
この時にチェックボックスにチェックを入れておくと次回からこの警告画面が表示されなくなります。
次に認証情報を入力する画面にて下記入力してください。
ユーザ名:「ec2-user」と入力
認証方式:「RSA/DSA/ECDSA/ED25519鍵を使う」を選択
秘密鍵:秘密鍵の格納先パスを入力(小さい青枠をクリックするとフォルダが開きパスを選択できます)
全て入力できたら「OK」をクリックしてください。
すると下記画像のようにログインできたことが分かります。
(「ec2-user」というユーザーで、「10.0.1.10」のサーバーへログインした。ということになります)
次の記事はこちらから
AWSとWordPressを使ってWebサイトを構築しよう⑧