AWS EC2 インスタンスの情報をssh configに記載して簡単にssh接続する


目的

  • ssh configファイルにAWS EC2のインスタンス情報を記載して短いコマンドでssh接続する方法をまとめる

実施環境

  • ハードウェア環境(ssh接続元)
項目 情報
OS macOS Catalina(10.15.5)
ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
プロセッサ 2 GHz クアッドコアIntel Core i5
メモリ 32 GB 3733 MHz LPDDR4
グラフィックス Intel Iris Plus Graphics 1536 MB
  • EC2インスタンス環境(ssh接続先)
項目 情報 備考
インスタンス種類 AmazonLinux2 こちらの方法で構築→AWS EC2 をMacで使ってみよう!

前提条件

  • 先に記載した方法でAWS EC2のインスタンスが起動しssh接続ができること。

前提情報

  • 今回の説明で実行するコマンドは特に記載がない場合、ssh接続元にて実行する物とする。

読後感

  • $ ssh ssh設定名のみでEC2のインスタンスにssh接続できる様になる。

概要

  1. 情報の確認
  2. ssh configファイルの作成と記載
  3. 確認

詳細

  1. 情報の確認

    1. AWSにログインしてEC2のインスタンス一覧ページを開き「接続」をクリックする。

    2. 表示された下記画像の赤枠で囲まれた部分(HostName情報)の情報をどこかにメモしておく。

    3. 表示された下記画像の赤枠で囲まれた部分(User情報)の情報をどこかにメモしておく。

    4. 現在ssh接続する際にコマンドで指定している接続鍵が格納されているディレクトリまで移動して、下記コマンドを実行し表示されたパスの末尾に鍵の名前をくっつけた文字列(接続鍵のフルパス)をどこかにメモしておく。(例えば、出力されたパスが/Users/miriwoで接続鍵の名前がtest.pemだった場合/Users/miriwo/test.pemという文字列をメモする。)

      $ pwd
      
  2. ssh configファイルの作成と記載

    1. 下記コマンドを実行して.sshディレクトリを作成する。

      $ mkdir -p ~/.ssh
      
    2. 下記コマンドを実行してssh configファイルを作成して開く。

      $ vi ~/.ssh/config 
      
    3. 下記の内容を記載する。

      ~/.ssh/config
      Host 接続先情報名(任意の物を入力)
          HostName 先にメモしたHostName情報を記載する
      User 先にメモしたUser情報を記載する
      IdentityFile 先にメモした接続鍵のフルパスを記載する
      
    4. 例えば接続策情報名が「aws-test」、HostName情報が「ec2-13-59-146-25.us-east-2.compute.amazonaws.com」、User情報が「ec2-user」、接続鍵のフルパスが「/Users/miriwo/MyWebServer.pem」だった時の記載は下記の様になる。

      ~/.ssh/config
      Host aws-test
          HostName ec2-13-59-146-25.us-east-2.compute.amazonaws.com
      User ec2-user
      IdentityFile /Users/miriwo/MyWebServer.pem
      
    5. 記載を保存してssh configファイルを閉じる。

  3. 確認

    1. 下記コマンドを実行して接続できることを確認する。

      $ ssh 接続先情報名