web-dev-qa-db-ja.com

AWS EC2:SSHセキュリティグループのインバウンドルールが機能しない

私は次の設定をしています:

Instance A:
security group sgA
sgA inbound rules contains:
  Rule1: * All traffic - All protocols - All port ranges - Source: sgB
  Rule2: * SSH - TCP - port 22 - Source: 0.0.0.0/0

Instance B:
security group sgB

両方のセキュリティグループで、アウトバウンド接続の0.0.0.0/0で「すべてのトラフィック」が有効になっています。

この設定では、インスタンスBからインスタンスAにsshを実行できます。ただし、ルール2(0.0.0.0/0ルール)を削除すると、sshがハングし、マシンがpingに応答しなくなります。

セキュリティグループに基づいてsshアクセスがどのように機能するかを誤解していますか?

1
Henry Henrinson

ルールの送信元または宛先としてセキュリティグループを指定すると、ルールはセキュリティグループに関連付けられているすべてのインスタンスに影響します。着信トラフィックは、送信元セキュリティグループに関連付けられているインスタンスのプライベートIPアドレスに基づいて許可されます(パブリックIPアドレスまたはElastic IPアドレスではありません)。

あなたの例では、ホストAはホストBのプライベートIPアドレスからポート22でホストBを許可します。 BからSSHを試行するときにホストAのパブリックIPアドレスを使用している場合、ホストBはNATゲートウェイIPまたはそのパブリックIPのいずれかを使用します。これらのIPはプライベートIPアドレスではないため、アクセスは許可されません。

構成を機能させるには、次のいずれかを行う必要があります。

  1. ホストAまたはにSSH接続するときにプライベートIPアドレスを使用します
  2. ホストBのパブリックIPアドレス(またはNATゲートウェイIP))を、Bのセキュリティグループの代わりに(またはそれに加えて)セキュリティグループのソースに追加します。

参照

EC2セキュリティグループ

1
kenlukas

SSH接続を確立するには、インスタンスのセキュリティグループに次のものが含まれている必要があります。

Security group for SSH ec2 Instance

ルールルール1:すべてのトラフィック-すべてのプロトコル-上記のssh接続を含むすべてのポート範囲

すべてのポートを開くというルールと混同しないでください。

すべてのサブネットの両方のセキュリティグループでSSHポートのみを開きます

さらに問題が発生した場合は、pingを送信してください

0
Manikandan Ram