MacのターミナルからSSH (Secure Shell) を使用してEC2インスタンスに接続する
UdemyだとWindowsでの接続説明のみだったため、Macでの接続方法を記録します!
接続に必要な情報
接続には、以下の2つの情報が必要
・EC2インスタンスの公開DNSまたはパブリックIPアドレス
・SSH接続用の秘密鍵(.pemファイル)
※ EC2インスタンスを起動した際に設定したキーペア (ログイン)
秘密鍵のパーミッションを変更する
セキュリティ上の理由から、秘密鍵ファイル(.pemファイル)は「所有者のみが読み書き可能」にできるように設定する必要あり。
(パーミッションが適切でないと、接続時にエラーが発生)
chmod 400 /path/to/your-key-pair.pem
"chmod 400" は「所有者のみが読み取り可能」というパーミッションを設定するコマンド
"/path/to/your-key-pair.pem" は秘密鍵ファイルのパス
(PC上に保存してある.pemファアイルをドラッグ&ドロップすると自動で入力される)
SSHコマンドで接続する
秘密鍵を使用してEC2に接続する
ssh -i /path/to/your-key-pair.pem ec2-user@your-instance-public-ip
"-i" で秘密鍵ファイルを指定
"/path/to/your-key-pair.pem" は秘密鍵ファイルのパス
"your-instance-public-ip" はEC2インスタンスのパブリックIPアドレス
実行すると、初回接続の際は以下が問われる
Are you sure you want to continue connecting (yes/no/[fingerprint])?
"yes" と入力してEnterキーを押す
接続に成功したら、鳥のマークが表示された!!
一度接続を切っても、次接続する際は以下のコマンドを入力すると再接続される
ssh -i /path/to/your-key-pair.pem ec2-user@your-instance-public-ip
【応用編】別のインスタンスに切り替える
以下のコマンドにて、"your-instance-public-ip" を切り替えたいインスタンスのアドレスに変更して入力するだけで切り替えは完了する。
ssh -i /path/to/your-key-pair.pem ec2-user@your-instance-public-ip
例)
#インスタンス1に接続する場合
ssh -i udemysample.pem ec2-user@<インスタンス1のIP>
#インスタンス2に接続する場合
ssh -i udemysample.pem ec2-user@<インスタンス2のIP>
これでエラーが出てこなければ、切り替え完了!
記録したい内容は以上です。
急に学習でコマンドが出てくると、スムーズにいかないことが多いですが、調べて解決できると楽しいです!
Discussion