パブリックインターネットに表示されないSSHサーバー


0

Ubuntu(サーバー)14.04マシンにOpenSSHサーバーをインストールしています。ローカルネットワーク経由で接続できますが、インターネット経由では接続できません。ルーターにポート転送を設定しています。

私が試してみました:

  1. ポート22から別の(ランダム)ポートに変更して、ISPがポート22をブロックしているためではないことを確認する
  2. テストのためにファイアウォールを一時的に無効にします。どちらも問題を解決しませんでした。

接続できない理由はありますか?エラーは次のとおりです。

アドレスポートに接続します:接続が拒否されました

d

ここでnetstat出力は:

netstat -apn | grep: 42530

(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp        0      0 0.0.0.0:42530           0.0.0.0:*               LISTEN      -               
tcp        0    116 192.168.2.23:42530      192.168.2.11:58944      ESTABLISHED -               
tcp6       0      0 :::42530                :::*                    LISTEN      -             

ubuntuのファイアウォールとは何かを調べます。おそらくデフォルトで着信をブロックします。
-barlop

@barlopファイアウォールを無効にしようとしましたが、
役に立ち

nc(nc -l -p 22またはnc -l 22、構文に関係なく)を試す価値があり、オンラインポートスキャンを実行して、それが機能するかどうかを確認します。また、サーバーが0.0.0.0または127.0.0.1にバインドされているか、192.168などのLANだけにバインドされているかどうかを確認してください
-barlop

@barlopバインドされているもの(およびバインドされているとはどういう意味ですか)を確認するにはどうすればよいですか?ありがとう
-JonaGik

適切なスイッチを指定したnetstatコマンド.. netstat -apn | grep :22それ0 0.0.0.0:22から、すべてのIPが接続できるようにバインドされていることを意味するかどうかを確認します。しかし、127.0.0.1:22または192.168.0.1:22と表示されている場合(127.0.0.1:22の場合)、localhost以外の誰も接続できないようにバインドされているか(192.168.0.1:22の場合) LAN上の他のコンプのみが接続できるように
-barlop

回答:


0

私は別のアプローチを試してみます-私は2つのことをします-最初は代替ポートでSSHの別のインスタンスを実行することです(ルーターでポート転送することを忘れないでください)-with-root-のようなコマンド

/usr/sbin/sshd -p 2222 -d

これにより、デバッグをオンにしてポート2222でSSHDの別のインスタンスが起動します。したがって、バックグラウンドにはなりません。その後、リモートで接続して、何が起こったのか見てみました。(リモート側では、次のように入力します

ssh -v ip.addr

交渉で何が起こっているかを見ることができます。

クライアントとサーバー間の会話が表示されない場合、次のステップは、サーバーでtcpdumpを使用して、トラフィックがサーバーに到達および/またはサーバーから出ているかどうかを確認することです。何かのようなもの:

/ usr / sbin / tcpdump -n -i eth0ポート2222

ポート転送が機能しているかどうかをテストできます-少なくともトラフィックがルーターを介して転送され、ルーターに戻っている場合。


0

問題は、ルーターがネットワーク内からのパブリックIPへの接続を明らかにブロックしていることです。ローカルネットワークの外部から接続しようとすると、接続を受け入れます。奇妙な...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.