sshdがローカルネットワークからのインバウンド接続を許可し、外部インバウンド接続を拒否するのはなぜですか?

sshdがローカルネットワークからのインバウンド接続を許可し、外部インバウンド接続を拒否するのはなぜですか?

インターネットから自分のサーバーに接続しようとすると、常に次のメッセージが表示されます。

debug2: ssh_connect: needpriv 0
debug1: connect to address XX.XX.XX.69 port 22: Connection refused
ssh: connect to host XX.XX.XX.69 port 22: Connection refused

しかし、LANでは、192.168....すべてが大丈夫に見えます。

なぜそのような違いがありますか?

ノートでテストしてみましたtelnet XX.XX.XX.69。ポート22が開いています。

答え1

「接続が拒否されました」とは、ファイアウォールが接続をブロックしているか、宛先ホストの対応するポートをリッスンするサーバーがないことを意味します。 Telnetの試みはうまくいきますが、SSHの試みはうまくいかないいくつかの考えられる理由は次のとおりです。

  • SSHを使用しようとすると、SSHデーモンは実行されません。
  • 同じマシンで telnet と ssh を試みておらず、ssh を実行しているシステムでは SSH 接続は許可されますが、telnet を実行しているシステムでは許可されません。
  • SSHサーバーが必要ですポートノック。 Telnet 試行はポート ノックの直後に発生しますが、ssh を試行するとノックの有効期限が切れます。
  • サーバーの IP アドレスは動的で、その時点で別のシステムに割り当てられます。
  • 試行の間にネットワーク構成にいくつかの変更が発生しました。ルーターにいる可能性が最も高いですが、クライアントコンピューター、サーバー、またはその間に存在する可能性があります。ネットワーク設定に関する追加情報がなければ、推測することは困難です。

関連情報