要塞ホスト経由の SSH 接続を使用した EC2 インスタンスへのアクセスのトラブルシューティング方法を教えてください。

最終更新日: 2021 年 1 月 4 日

要塞ホスト経由で SSH 接続を使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続する際に問題が発生しました。この問題を解決するには、どうすればよいですか?

簡単な説明

要塞ホストを使用した SSH 経由の接続のトラブルシューティングを行うには、次の手順を実行します。

  1. 次の間の SSH 接続を個別にトラブルシューティングするために、トラブルシューティングを目的としたエージェント転送を設定します。
    ローカルマシンと要塞ホスト。
    要塞ホストと EC2 インスタンス。
  2. ローカルマシンと踏み台ホスト間、および踏み台ホストと EC2 インスタンス間の SSH 接続のトラブルシューティングを行うには、SSH を使用して Amazon EC2 Linux インスタンスに接続する際に、問題が発生します。トラブルシューティングする方法を教えてくださいの手順に従います。

解決方法

1.    EC2 インスタンスおよび要塞ホストの 1 つまたは複数の秘密キーをローカルマシンの ssh-agent に追加します。次のコマンド例では、private-key.pem を秘密キーの名前に置き換えます。

ssh-add private-key.pem

次のコマンドを実行して、ssh-agent でキーが使用できることを確認します。

ssh-add -L

2.    次のコマンドを実行して、詳細メッセージングをオンにするとともに、-A オプションを使用して要塞ホストに接続します。次のコマンド例では、ec2-user をユーザー名に置き換えます。192.0.2.0 を要塞ホストの適切なパブリック IP アドレスに置き換えます。パブリック IP アドレスの代わりにパブリック DNS エントリを使用することもできます。

ssh -v –A ec2-user@192.0.2.0

重要: -A オプションは、ssh-agent 転送を有効にします。エージェント転送は、トラブルシューティングのためにのみ使用してください。転送により、ローカル ssh-agent はパブリックキーのチャレンジに応答できます。これには、要塞ホストから EC2 インスタンスに接続する場合も含まれます。エージェント転送を設定すると、要塞ホストにソケットファイルが作成されます。ソケットファイルは、キーを EC2 インスタンスに転送するメカニズムとして機能します。ファイルを変更できる権限を有する、要塞ホスト上の別のユーザーは、このキーを使用してお客様として認証を行うことができます。要塞ホストを使用して定期的に (トラブルシューティング以外で) インスタンスに接続する場合は、ProxyCommand または同様の方法を使用します。

3.    要塞ホストに接続した後、次のコマンドを実行して、詳細メッセージングをオンにするとともに、SSH を使用して EC2 インスタンスに接続します。次のコマンド例では、ec2-user をユーザー名に置き換えます。192.0.2.0 を要塞ホストの適切なパブリック IP アドレスに置き換えます。パブリック IP アドレスの代わりにパブリック DNS エントリを使用することもできます。

ssh -v ec2-user@192.0.2.0

注: 上記の 2 つのコマンドでは、明示的にキーを指定する必要はありません。ssh-agent は、成功するまで、エージェントにロードされたすべてのキーを順番に試行します。インスタンスは、接続試行が 5 回失敗した後、接続を終了します。したがって、エージェントが持つキーの数が 5 個以下であることを確認してください。各管理者には 1 つのキーが必要です。そのため、ほとんどのデプロイについて、これが問題になることはほとんどありません。ssh-agent でキーを管理する方法の詳細については、man ssh-agent コマンドを実行してください。

ローカルマシンから要塞ホストへの接続に関するトラブルシューティング

ローカルマシンから要塞ホストへの接続に問題がある場合は (ステップ 2)、次の手順を実行します。

  • 要塞ホストの秘密キーをローカルマシン上の SSH エージェントに正しく追加したことを確認します。この手順は、ステップ 1 に示されています。
  • ssh-add-L が 5 つ以下のキーを返すことを確認します。

それでも要塞ホストに接続できない場合は、SSH を使用した Amazon EC2 Linux インスタンスへの接続に関する問題をトラブルシューティングするにはどうすればよいですか? のステップ 2 をご参照ください。

要塞ホストから EC2 インスタンスへの接続のトラブルシューティング

要塞ホストから EC2 インスタンスに接続する際に問題が発生した場合は (ステップ 3)、次の手順を実行します。

  • EC2 インスタンスの秘密キーをローカルマシン上の SSH エージェントに正しく追加したことを確認します。キーが要塞ホストの秘密キーと異なる場合は、これを確認する必要がある場合があります。
  • ssh-add-L が 5 つ以下のキーを返すことを確認します。

それでも要塞ホストから EC2 インスタンスに接続できない場合は、SSH クライアントからの出力メッセージを使用してトラブルシューティングを行います。詳細については、SSH を使用した Amazon EC2 Linux インスタンスへの接続に関する問題をトラブルシューティングするにはどうすればよいですか? のステップ 2 をご参照ください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?