カテゴリ: AWS EC2 更新日: 2026/07/21

AWS EC2でSSH接続する方法【Mac・Windows対応】初心者向けにわかりやすく解説

176
AWS EC2でSSH接続する方法【Mac・Windows対応】

先生と生徒の会話形式で理解しよう

生徒

「AWSでEC2インスタンスを作ったんですが、SSH接続の方法がよくわかりません…」

先生

「EC2インスタンスへのSSH接続は、セキュアにリモート操作を行うための重要な手順ですね。MacとWindowsそれぞれで解説していきましょう。」

生徒

「使ってるパソコンによってやり方が違うんですね!」

先生

「はい、Macはターミナル、Windowsは主にPowerShellやTera Termなどを使います。それでは順番に手順を確認していきましょう。」

1. SSH接続とは?EC2インスタンスにログインするための仕組み

1. SSH接続とは?EC2インスタンスにログインするための仕組み
1. SSH接続とは?EC2インスタンスにログインするための仕組み

AWSでEC2(Elastic Compute Cloud)インスタンスを作成した後、その仮想サーバの中で設定を変えたりソフトをインストールしたりするために必要なのが「SSH(Secure Shell)接続」です。

SSHとは、ネットワークを介して別のコンピュータを遠隔操作(リモートログイン)するためのプロトコルです。最大の特徴は、やり取りされるすべてのデータが強力に暗号化される点にあります。これにより、パスワードやコマンドといった重要な情報が第三者に盗み見られるリスクを最小限に抑え、安全にサーバ管理を行うことができます。

AWS EC2の多くはLinuxベースのOSで動作しているため、Windowsであれば「コマンドプロンプト」や「PowerShell」、Macであれば「ターミナル」といった黒い画面(CLI)から命令を送り込んで操作するのが一般的です。プログラミング未経験の方には少し難しく感じるかもしれませんが、「手元のPCから、AWSにある遠くのコンピュータに専用の鍵を使ってログインする」というイメージで捉えておけばOKです。

例えば、SSH接続ができると、以下のようにサーバ側の情報を取得したり操作したりすることが可能になります。


whoami
ec2-user
uptime
10:45:01 up 1 day, 2:15, 1 user, load average: 0.00, 0.01, 0.05

この「ec2-user」というのは、AWSのAmazon Linuxなどで標準的に使われる管理者ユーザーの名前です。このように、自分のPCにいながらクラウド上のサーバを自由自在に操れるようになるための第一歩が、SSH接続というわけです。

2. 接続準備:キーペア(.pemファイル)のダウンロードと保存

2. 接続準備:キーペア(.pemファイル)のダウンロードと保存
2. 接続準備:キーペア(.pemファイル)のダウンロードと保存

EC2インスタンスを起動する際に「キーペア」を作成したはずです。このキーペアには秘密鍵(.pemファイル)が含まれており、これを使ってSSH接続を行います。
まずはこの.pemファイルを安全な場所に保存しておきましょう。絶対に誰にも共有してはいけません。また、Windowsユーザーの場合はこの.pemファイルを.ppk形式に変換する必要がある場合もあります。

3. MacでEC2にSSH接続する手順

3. MacでEC2にSSH接続する手順
3. MacでEC2にSSH接続する手順

Macには標準で「ターミナル」が搭載されているため、追加のソフトウェアは不要です。以下の手順で接続します。

  • ターミナルを起動する
  • .pemファイルに適切なパーミッションを設定する
  • SSHコマンドで接続する

chmod 400 your-key-name.pem
ssh -i your-key-name.pem ec2-user@インスタンスのパブリックIPアドレス

「Permission denied」エラーが出た場合は、.pemファイルのパーミッション(権限)が適切でない可能性があるため、chmod 400の実行を忘れずに。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. WindowsでEC2にSSH接続する方法(PowerShell編)

4. WindowsでEC2にSSH接続する方法(PowerShell編)
4. WindowsでEC2にSSH接続する方法(PowerShell編)

Windows 10以降のPowerShellは、SSHコマンドが標準で利用できます。手順はMacとほぼ同じですが、ファイルパスの表記が異なります。


ssh -i "C:\Users\ユーザー名\Downloads\your-key-name.pem" ec2-user@パブリックIP

「このファイルのパーミッションが開きすぎています」と警告が出る場合は、次のように権限を変更します(またはTera Termの使用を検討しましょう)。

5. WindowsでTera Termを使ってSSH接続する方法

5. WindowsでTera Termを使ってSSH接続する方法
5. WindowsでTera Termを使ってSSH接続する方法

Tera TermはWindowsで人気のSSHクライアントソフトです。以下の手順でEC2と接続できます。

  1. Tera Termをインストールする
  2. EC2のパブリックIPアドレスを指定して「SSH接続」を選択
  3. ユーザー名は「ec2-user」、認証鍵には.ppkファイルを使用

.pemファイルを.ppkに変換するには、PuTTYgenというツールを使用します。変換後、Tera Termで使用できます。

6. 接続できない時のトラブルシューティング

6. 接続できない時のトラブルシューティング
6. 接続できない時のトラブルシューティング

EC2インスタンスにSSH接続できない場合、以下のような原因が考えられます。

  • セキュリティグループの設定でポート22が許可されていない
  • IPアドレスが変わっている(再起動後など)
  • ユーザー名が間違っている(例:Amazon Linuxはec2-user、Ubuntuはubuntu
  • 秘密鍵のパーミッションが適切でない

上記を順に確認することで、多くのSSH接続エラーは解決できます。

7. よくある質問(FAQ)

7. よくある質問(FAQ)
7. よくある質問(FAQ)

キーペア(.pem)は再ダウンロードできません。インスタンスを新規作成するか、Systems Manager経由で接続する方法などを検討します。

OSパッケージのアップデート(sudo yum updatesudo apt update)など、セキュリティ対策が推奨されます。

まとめ

まとめ
まとめ

今回は、AWS EC2インスタンスにSSH接続するための方法を、MacユーザーとWindowsユーザーの両方に向けてわかりやすく解説しました。EC2でサーバーを立ち上げたら、まず最初に行うべき作業が「SSH接続」であり、これをクリアすることでサーバー操作の第一歩が始まります。
特に初心者の方は、AWS EC2のSSH接続手順を理解しておくことがとても重要です。パーミッション設定やユーザー名の違い、Windowsでの.ppk変換など、少しつまずきやすいポイントもありますが、この記事を読んで手順を丁寧に確認すればきっと接続できるようになります。

また、セキュリティグループの設定や、インスタンスの公開IPアドレスなど、ネットワークやAWS特有の設定を確認することも大切です。AWS EC2とSSH接続はクラウド運用の基本スキルであり、将来的にWebサーバー、APIサーバー、開発環境構築など、さまざまな用途に応用できます。

以下に、SSH接続をスクリプト化するJavaの簡易サンプルも紹介します。あくまで疑似コードですが、SSH接続の概念をJavaで表現しています。


public class SSHConnection {
    public static void main(String[] args) {
        String pemFile = "your-key-name.pem";
        String ip = "your-public-ip";
        String user = "ec2-user";
        System.out.println("接続コマンド:");
        System.out.println("ssh -i " + pemFile + " " + user + "@" + ip);
    }
}

このように、AWS EC2とSSHの関係性をコードでも理解することで、今後のクラウド開発・インフラ構築がスムーズになります。AWSではこのような基礎を押さえておくことで、LambdaやRDS、CloudFrontなど他のサービス活用にもつながっていきます。

特にSSHEC2接続.pemファイルの管理Tera TermMacのターミナル操作など、検索されやすいキーワードを意識しながら今後も学習していきましょう。

先生と生徒の振り返り会話

生徒

「最初は難しそうだと思ったけど、MacでもWindowsでもSSH接続の手順がしっかりわかりました!」

先生

「接続できるようになると、サーバーの操作が一気に広がりますね。AWSではEC2の使い方が基本中の基本です。」

生徒

「.pemファイルの取り扱いとか、ユーザー名の違いとか、ちゃんと理解していないと接続できない理由もわかりました。」

先生

「そうです。今回はSSH接続の基礎を学んだので、今後はセキュリティグループやSSH鍵の自動管理など、応用にも挑戦していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

AWS EC2インスタンスにSSH接続するにはどのツールを使えばいいですか?MacとWindowsで違いますか?

はい、Macでは標準の「ターミナル」を使ってSSH接続できますが、WindowsではPowerShellやTera Term、PuTTYなどのツールを使うのが一般的です。

EC2インスタンスのSSH接続に必要な.pemファイルが見つかりません。どうすればいいですか?

.pemファイルはセキュリティ上、再ダウンロードできません。なくした場合は新しいキーペアを作成して、インスタンスを再作成するか、AWS Systems Managerなどの別の接続方法を検討しましょう。

Windowsで.pemファイルをそのまま使えないのはなぜですか?

WindowsではTera TermやPuTTYを使う際に.pemファイルを.ppk形式に変換する必要があるからです。PuTTYgenというツールで変換可能です。

AWS EC2のSSH接続で「Permission denied」エラーが出ます。原因は何ですか?

このエラーは、秘密鍵(.pemファイル)のパーミッションが正しく設定されていない、またはユーザー名が間違っている可能性があります。Macではchmod 400コマンドで権限を設定し直すと解決する場合があります。
AWS EC2の一覧へ
新着記事
Python
NumPyのスライスの使い方!範囲指定で配列を取り出す方法
NumPyのスライスの使い方!範囲指定で配列を取り出す方法
AWS
【AWS】CloudWatchで障害検知を自動化する設計パターン
【AWS】CloudWatchで障害検知を自動化する設計パターンを初心者向けに解説!AWS監視とアラート通知の基本
AWS
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
Flutter
Flutterの入力フォーム作成!TextField・TextFormFieldの基本
Flutterの入力フォーム作成!TextField・TextFormFieldの基本を初心者向けに解説
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク