要塞ホスト経由の SSH 接続を使用した EC2 インスタンスへのアクセスをトラブルシューティングするにはどうすればよいですか?

所要時間1分
0

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

簡単な説明

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

  1. SSH エージェント転送を設定して、ローカルマシンから要塞ホストにログインします。
  2. 詳細メッセージングをオンにした要塞ホストから EC2 インスタンスに接続します。
  3. SSH クライアントからの出力メッセージを使用して、問題を特定し、トラブルシューティングします。ローカルマシンから要塞ホストへの接続のトラブルシューティングから始めます。その後、要塞ホストから EC2 インスタンスへの接続をトラブルシューティングします。

解決方法

SSH エージェント転送を設定して、ローカルマシンから要塞ホストにログインする

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 または類似の方法を使用します。

詳細メッセージングをオンにした状態で、要塞ホストから EC2 インスタンスに接続する

要塞ホストに接続した後、次のコマンドを実行して、詳細メッセージングをオンにするとともに、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 コマンドを実行してください。

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

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

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

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

  • EC2 インスタンスの秘密キーをローカルマシン上の SSH エージェントに正しく追加したことを確認します。キーが要塞ホストの秘密キーと異なる場合は、これを確認する必要がある場合があります。
  • ssh-add-L が 5 つ以下のキーを返すことを確認します。
  • それでも要塞ホストに接続できない場合は、SSH クライアント詳細メッセージングから取得した出力メッセージを参照して、エラーメッセージを確認します。受け取ったエラーメッセージに基づいて、「SSH を使用した Amazon EC2 Linux インスタンスへの接続に関する問題をトラブルシューティングするにはどうすればよいですか?」のステップ 2 を参照して、問題をトラブルシューティングします。

AWS公式
AWS公式更新しました 3年前
コメントはありません

関連するコンテンツ