チェックポイント別に見るSSH接続できない場合の対策と解決方法
IT・技術関連
更新日:2024.09.05


AWSにSSH接続できない場合のチェックポイント
SSH接続できない場合に確認するチェックポイントは、大きく分けて3つあります。
下記の3つのチェックポイント別に、対策と解決方法を確認していくことで、SSH接続できるようになります。
- インスタンスの把握
- ネットワークルートの確保
- SSH接続に必要な知識と資源
チェックポイントの順番通りに確認をしましょう
チェックポイントの1.→2.→3.の順番に確認していくことが大切になります。 AWSを使用し始めたばかりだが、AWSの知識を身につけることよりも、早く先の作業をしたいと、急いでいた場合などに【AWSでSSH接続できない】ことが起こりがちです。 チェックポイントを意識していれば気付けた情報を、うっかり見過ごしてしまっていた場合が多いからです。 例えば「SSH接続は以前もやったことがあるので、今回もできるはず。まずは接続して早く試してみよう。」と、焦ってしまった場合などです。チェックポイントの順番通りが近道になる
SSH接続できない時に、何の設定が違っていて接続できなかったかを、3.→2.→1.などの順番に確認してしまいがちですが、チェックポイントの順番通りに1つずつ確認しておけば、結果的に時間を節約できることにつながる場合が多くあります。 なぜなら、SSH接続できるようになるまでの間に、必要だった情報を見過ごしてしまう機会が減るからです。 上記チェックポイントの、1.→2.→3.の順番に確認していくことを、AWSでのSSH接続の際はぜひ、心がけておきましょう。SSH接続できない場合の対策と解決方法-1

インスタンスごとにSSH接続可能かどうかは異なっている
EC2インスタンスに接続するのであれば、SSH接続をおこなう必要性があります。 しかし、Amazon EC2も実はそう(※)ですが、AWSの多数のサービス・インスタンスの中には、セキュリティの観点やユーザーごとの管理の煩雑さを回避するために、SSH接続しないように設定している場合があります。 (※:デフォルトユーザーがSSH接続可能に初期設定されるが、使用規模とセキュリティの観点等により、デフォルトユーザーを使用しないケースがある) Amazon AWSがサービスを開始した当初は、ストレージサービスである Amazon Simple Storage Service(S3)を利用することでした。ストレージを利用するだけであれば、SSH接続が必須ではないことがイメージできるでしょう。インスタンスがSSH接続可能な状態にあることを確認する
そのため、現在のインスタンスの状態はどうなっているのか、SSH接続するための環境は整っているのかを把握しておくことが、SSH接続できないケースを減らす近道になります。 AWSでVPC内にあるインスタンス情報から、SSH接続ができることをあらかじめ確認しておきましょう。 下記のリンクは、AWSの製品群です。【製品を調べる】にある【コンピューティング】に Amazon EC2が存在しますが、それ以外にも多くのサービス(および接続先となるインスタンス)があることがわかります。インスタンスを把握する
Amazon EC2 Linux環境にSSH接続するため、インスタンスに関する前提条件を確認していきましょう。 1つめに、インスタンスのユーザー名を確認します。 下記リンクの【・インスタンスのユーザー名を取得します】から、AMI別のデフォルトのユーザー名を確認します。 ( ec2-user、root、centos、fedora、ubuntuのいずれかになります)Windows環境へのSSH接続について
Windows環境へSSH接続する場合は、デフォルトでは、SSHサーバーがインストールされていないため、OpenSSH等のインストールと構成を行ってからSSH接続します。 ( ユーザー名はec2-userです ) また、ec-userなどのユーザー名は、VPC内にインスタンスを作成した際のデフォルトで用意されるユーザー名です。 複数のインスタンス使用者が存在して、ユーザー管理やセキュリティを考慮する場合は、ユーザーアカウントを追加作成して、デフォルトユーザー名が使われることがないように設定する場合もあります。 その場合は、追加作成したユーザー名を使用してください。インスタンスの状態を確認する
2つめに、インスタンスの状態を確認します。 下記リンク【インスタンスのステータスチェック】にある【コンソールを使用したステータスの表示】を確認します。ステータスの確認方法
[インスタンス]ページで、インスタンスを選択してから、[ステータスチェック]タブを選択します。 ・システムステータスのチェック 【✔システムの接続性チェックに合格しました】であれば問題ありません。 ・インスタンスステータスのチェック 【✔インスタンスの接続性チェックに合格しました】であれば問題ありません。 上記に問題がある場合は下記リンク【インスタンス起動の問題のトラブルシューティング】にしたがって、解決します。DNSアドレスの確認
3つめに、SSH接続する際のDNSアドレスを確認します。 下記リンク【インスタンスのパブリックDNSアドレスを取得する】にある【インスタンスのパブリックDNSアドレスを取得する】の手順通りに実施し、DNSアドレスを確認します。パブリックIPv4アドレスについて
SSH接続する際に、パブリックDNSアドレスではなく、パブリックIPv4アドレスを使用する方法もあります。 ただし、パブリックIPv4アドレスは変更されるタイミングがあるので、パブリックDNSアドレスを取得しておくようにしましょう。 Elastic IPアドレスを割り当てて、IPv4アドレスを固定化させる方法もありますが、ここでの紹介は省略します。SSH接続できない場合の対策と解決方法-2

インバウンドトラフィックについて
「[インスタンスの起動] ウィザードで作成されたセキュリティグループでは、デフォルトでSSHトラフィックが有効になります。」とあるように、EC2インスタンスにデフォルトユーザー名で接続する場合は、すでにSSH接続できる設定になっています。 ここで、【インスタンスへのインバウンドトラフィックを有効にする】のインバウンドトラフィックについて確認しておきます。インスタンスのセキュリティを確認する
「ネットワーク上の通信量の内、ゲートウェイやワークステーションに入ってくる分を指す」とあるように、インバウンドトラフィックとは、AWSのVPCにあるEC2インスタンスに、SSH接続してくる通信データを指します。 要するに、これからSSH接続しようとするユーザーが、EC2インスタンスと通信する場合は、インバウンドトラフィックを発生させているのです。 インバウンドトラフィックが発生した場合に、SSH接続できる状況になっているかどうかを確認しておくことは重要です。 Amazon VPCコンソールで、インスタンスの【セキュリティ】に任意のホストからの、SSH接続が許可されていることを確認します。インバウンドルールを確認する
EC2インスタンスの【インバウンドルール】に下記の記述があれば、接続できる状況になっています。 ・ポート範囲:22(SSH接続で使用するポート) ・プロトコル:TCP(SSH接続で使用するプロトコル) ・ソース:0.0.0.0/0(任意のホストを意味している) ユーザー管理やセキュリティを考慮して設定されている場合は、上の3つの記述が、自分の環境と適合しているかどうかを確認し、不足があれば設定を追加することが必要です。 その場合は、下記、【インスタンスへの接続に関するトラブルシューティング】にある、【インスタンスへの接続エラー: 接続タイムアウト】を参照して設定します。SSH接続できない場合の対策と解決方法-3

プライベートキーを保存していなかった場合には
【キーペアの作成またはインポート】でプライベートキーを保存していなくても、再度保存することは可能です。 下記、【Amazon EC2でのセットアップ】の【インスタンスのキーペアの追加または交換】を参照してください。プライベートキーの保管について
ローカルに保存したプライベートキー(~.pem)の保存先(パス)とファイル名は、接続時に使用しますので、控えるなどして記憶しておきます。 もしも、プライベートキーファイルが正しく設定できていない場合は、下記、【インスタンスへの接続に関するトラブルシューティング】を参照します。 【エラー: キーをロードできません … Expecting: ANY PRIVATE KEY】などAWSでのSSH接続が必要な理由

SSH接続してみる
説明してきた下記、3つのポイントを踏まえ、SSH接続できるようになっているはずです。 ・SSH接続できない場合の対策と解決方法-1 ・SSH接続できない場合の対策と解決方法-2 ・SSH接続できない場合の対策と解決方法-3 さっそく実施してみます。Windows環境でSSH接続をおこなう
Windows環境でSSH接続をおこなう場合、SSHクライアントソフトを使用する方法と、Windowsに標準で実装されている「コマンドプロンプト」か「PowerSherll」を使用する方法の2種類があります。 ここでは、「コマンドプロンプト」によるSSH接続にて、確認をおこないます。 なお、SSHクライアントソフトには、「Tera Term」「Poderosa」「RLogin」等があります。最低限必要となる知識は、「コマンドプロンプト」によるSSH接続と同じです。コマンドプロンプト
コマンドプロンプトでSSH接続する場合は、下記を入力します。 ssh -i [プライベートキーのパス+プライベートキー.pem] [ユーザー名]@[DNS アドレス] [プライベートキーのパス+プライベートキー.pem] SSH接続できない場合の対策と解決方法-3 で、取得できている情報です。 [ユーザー名]、[DNS アドレス] SSH接続できない場合の対策と解決方法-1 で、取得できている情報です。Macintosh環境でSSH接続をおこなう
Macintosh環境でSSH接続をおこなう場合、「ターミナル」を使用する場合が多いです。もちろん、SSHクライアントソフトを使用することもできます。 ここでは、「ターミナル」によるSSH接続にて、確認をおこないます。 なお、SSH接続クライアントソフトには、「iTerm 2」や iPhoneおよびiPadから接続できる「 iTerminal」等があります。最低限必要となる知識は、「ターミナル」によるSSH接続と同じです。ターミナル
ターミナルでSSH接続する場合は、下記を入力します。 ssh -i [プライベートキーのパス+プライベートキー.pem] [ユーザー名]@[DNS アドレス] [プライベートキーのパス+プライベートキー.pem] SSH接続できない場合の対策と解決方法-3 で、取得できている情報です。 [ユーザー名]、[DNS アドレス] SSH接続できない場合の対策と解決方法-1 で、取得できている情報です。現在のSSH接続の状況

今後のSSH接続
今後は、CUIでのSSH接続と、GUIでのSSH接続が混在し、どちらがサーバーを操作するために便利か、また目的とする処理を実行するために適切かによって、利用を切り替えていくことになるでしょう。 双方のSSH接続を覚えることにより、よりAWSの活用の幅が広がっていきます。 下記、【AWS Systems Manager Session Manager】を参照してください。まとめ

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。