サーバー Y から、ユーザー A がサーバー X に ssh を試行しますが、接続が拒否されます。サーバー Y から、ユーザー B がサーバー X に ssh を試行しますが、接続は拒否されます。サーバー Y から、ルートが ssh を試行しますが、接続が拒否されます。この問題は 100% 再現可能で、100% 一貫しています。
最初の 2 つは ACL の問題を示唆していますが、表示する権限がないにもかかわらず、両方のユーザーの設定は同じであると言われています。また、削除して再度追加しましたが、成功しませんでした。ただし、ルートは ACL の影響を受けず、接続できません。
この問題が発生するサーバーは 2 台ありますが、ifconfig の設定 (IP アドレスなどを除く) とルーティング テーブルが同一である他の多くのサーバーでは、この問題は発生しません。
サーバー X でサーバー Y からの接続を検索する tcpdump では、ユーザー A が接続しようとしたときには何も表示されませんが、ユーザー B が接続しようとしたときには大量の情報が生成されます。これは、ユーザー A が ssh を試行したときにサーバー X が何も受信していないことを示しています。
すべてのサーバーはRedHatを実行しています
問題はサーバー Y にあると想定していますが、何を確認すればよいでしょうか? ユーザー名に基づく接続の問題は、サーバー間のファイアウォールで発生する可能性がありますか? または、そのようなファイアウォールはユーザー名に基づいていないのでしょうか?
編集 - ユーザー A と B は両方とも、サーバー Y からグループ内の他の多くのサーバーに ssh できます。問題が発生するのはサーバー X だけです。ssh では RSA は使用されませんが、サーバー Y へのログインでは最初に RSA が使用されます。
答え1
ユーザー A のファイルを確認してください。そのファイルには問題のホスト名のエントリ.ssh/config
があり、そのホスト名に対して別のポートまたは IP アドレスを試行している可能性があります。たとえば、次の行があったとします。Host
ssh
.ssh/config
Host a.example.com
Hostname b.example.com
Port 42
次に、「ssh a.example.com」を実行すると、b.example.com のポート 42 への接続が試行されます。
もう 1 つの (ありそうもない) 可能性は、ユーザー A が何らかの理由で (たとえば、コマンド パスが異なるため) 別の「ssh」プログラムを実行していて、代替プログラムが期待どおりに動作していないことです。
編集: 他に起こりそうにない可能性としては、ネットワーク上に同じ IP アドレスに応答するホストが 2 つある場合です。失敗した接続要求は間違ったサーバーに送信され、間違ったサーバーから応答されます。この場合、接続はユーザーごとに一貫して失敗するのではなく、ランダムに失敗するため、説明されている動作とは実際には一致しません。
答え2
これは解決されました。
アクセス リストは 2 つありました。1 つ目は、ユーザーが接続できるサーバーをリストする、一般に知られている ACL です。もう 1 つは、以前は知られていなかった、特定のユーザーのみにアクセスが許可されるサーバーのリストです。つまり、ACL の逆です。この制限リストからサーバーが削除されたため、すべてのユーザーにアクセスが許可されました。
皆様のコメントとご指導に感謝いたします。