似非プログラマーの雑多な日記

似非プログラマーの雑多な日記

「継続は力なり」の実証実験してます

【AWS】MacBookでEC2にSSH接続する方法

たまにしか使わず忘れてしまうため備忘録として残す。

コトの発端はこれ

時代の流行りに乗るためにAWSでサーバ構築しようと思ったのに入れないじゃん...

ssh: connect to host <IPアドレス> port <Port番号>: Connection refused

SSH接続するための準備

EC2インスタンスは任意の設定で作成済みであることが前提として話を進める。ちなみに勉強用に使うだけならほぼデフォルトの設定で問題ないと思っている。
SSH接続する時のポイントは「キーペア」と「セキュリティグループ」。あとあと確認or変更するから頭に入れておくといい。

f:id:captaindream0502:20210907005559p:plain
EC2ダッシュボード

で、まずはMacのターミナル開いてホームディレクトリに「.ssh」というディレクトリを作る

(=^・ω・^=) ~ % mkdir .ssh

作成したディレクトリにインスタンスと一緒に作成したキーペア、「<キー名>.pem」を入れる。すでに作成済みのキーペアをインスタンスに設定した場合はそれ。

さあ、接続してみよう

準備が済んだらターミナルのメニューバー的なところ「シェル→[新規リモート接続]」をクリックする

f:id:captaindream0502:20210907010452p:plain
新規リモート接続

下記の画面が表示されたら「セキュアシェル(ssh)」を選択。上から2つめの長い赤枠に接続時のコマンドを入力する

f:id:captaindream0502:20210907074749p:plain
セキュアシェル

接続時のコマンドは下記

ssh -i ~/.ssh/<pemファイル> <ユーザ名>@<EC2のPublic DNS (IPv4)もしくはIPv4 Public IP>

例えば、.sshディレクトリに置いたpemファイルの名称が「secret_key.pem」、ユーザ名が「madao」、IPv4 Public IPが「100.1.2.30」だったら

ssh -i ~/.ssh/secret_key.pem madao@100.1.2.30

IPv4 Public IPで入れなかったらPublic DNS (IPv4)を指定するといい。

チクショー、接続できない

これまで説明した通りにやっても接続できない時は、インスタンスに設定されている「セキュリティグループ」のポートが開放されていることを確認する。

  1. セキュリティグループのインバウンドルールを編集
  2. タイプ「SSH」をルールに追加
  3. ソースに「マイIP」を選択し、編集内容を保存。

f:id:captaindream0502:20210907230157p:plain
セキュリティグループ

再度、ターミナルからSSH接続を行うと接続できるはずだ。
ただし、この方法だと自分の居場所が変わる or Wi-Fi接続が変更される度にセキュリティグループの設定を更新する必要があるため、頻繁に自分のPCからSSH接続する場合は別途設定が必要。

以上