web-dev-qa-db-ja.com

リモートsshのセットアップの問題

私は自宅にubuntuデスクトップとMacラップトップを持っています。ローカルネットワークの外部からubuntuマシンにSSH接続できるようにこれを設定しようとしています。

これが私がこれまでにしたことです:

(1)ubuntuマシンのポート22でsshを有効にしました。ファイル/ etc/ssh/sshd_configは、ポート22でリッスンしていることを示しています。

(2)ファイアウォールのステータス(ufw status)を見ると、次のように表示されます。

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             

(3)Netgear C3700-100NASルーターで、変更されないようにubuntuマシンのIPアドレスを予約しました。

(4)サービスタイプTCP/UDP、外部ポートと内部ポートを22に設定してポート転送を設定しました。これは、内部IPアドレスを指します。

(5) http://www.myipaddress.com/ を使用してパブリックIPアドレスを見つけました

ローカルIPアドレスを使用して、ローカルネットワーク上の自宅からubuntuマシンにSSHで正常に接続できます。

しかし、リモートsshはタイムアウトします。オンラインポートフォワーディングテスター( https://www.yougetsignal.com/tools/open-ports/ )も試しましたが、パブリックIPアドレスとポート22を指定すると、次のように表示されます。私はポートが閉じています。

リモートでsshを実行しようとすると、次のようになります。

~ $ ssh -vvv [email protected]
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 22.
debug1: connect to address xx.xxx.xxx.xx port 22: Operation timed out
ssh: connect to Host xx.xxx.xxx.xx port 22: Operation timed out

更新

以下にリストされているいくつかのアドバイスに従って、私はいくつかの変更を加えました。ポートフォワーディングを変更して、ポート8022を外部ポートとして使用するようにしましたが、ポート22は内部ポートとして使用しています。また、ルーター設定でpingに応答するオプションをオンにしました。

これで、パブリックIPにpingを実行すると、応答します。ただし、上記のyougetsignal Webサイトでポート8022が開いているかどうかをテストすると、まだ閉じていると表示されます。

SSHを試みた場合:

> ssh -vvv [email protected] -p 8022
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 8022
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 8022.
debug1: connect to address xx.xxx.xxx.xx port 8022: Operation timed out
ssh: connect to Host xx.xxx.xxx.xx port 8022: Operation timed out

ISPにも電話しましたが、紛らわしい会話でしたが、使用しようとしているポートをブロックしているようには見えませんでした...

以下の提案に従って、私はSudo nmap --packet-trace --traceroute --reason xx.xxx.xxx.xxを実行しました。これが出力のサブセットです。ポート8022はリストされていませんが、次のようになっていると思います。

Host is up, received reset ttl 253 (0.0028s latency).
Not shown: 996 filtered ports
Reason: 996 no-responses
PORT     STATE  SERVICE      REASON
135/tcp  closed msrpc        reset ttl 253
139/tcp  closed netbios-ssn  reset ttl 253
445/tcp  closed Microsoft-ds reset ttl 253
1025/tcp closed NFS-or-IIS   reset ttl 253

問題がどこにあるのかわかりません... ubuntuマシン?ルーター?これを理解する方法はありますか?

ありがとう!

7
Pascal

私は数日前に同様の問題を抱えていました。モデムまたはルーターがブリッジとして構成されていない可能性があります。 ISPによって異なります。通常モードでは、すべての着信接続がブロックされますが、ブリッジモードに切り替えるとすべてのアクセスが可能になります。これを変更するにはISPに電話する必要があったので、パブリックIPアドレスを取得し(長い間正確に固定されていませんが、それで十分です)、ルーターがすべての接続のブリッジとして機能するようになりました。

ISPにはIPアドレスがなく、他のルーティング関連のもののほかにユーザーを隠すことがすべてです。あなたは本当にパブリックIPアドレスを持っている必要があります。

1
pbies

問題がISPのネットワークデバイスにあるかどうかを最初に調べ、次にルーターにあり、次にPCにあるかどうかを調べます。

もう一度試して、ポートを8022から443に移動できますか?

一部のISPでは、ポートフィルタリングが非常に制限されている場合があります。しかし、443はフィルタリングされていないことがよくあります。また、10000を超えるポートの方が可能性が高いかもしれませんが、nmapから、445程度まで到達できることがわかります。ローカルネットワークの外部からnmapを実行しましたか?最良の証拠は、ホームネットワークの外部からパブリックIPに向けてnmapを起動できるかどうかです。

Kr、
シスコ

0
tent

(3)Netgear C3700-100NASルーターで、変更されないようにubuntuマシンのIPアドレスを予約しました。

(4)サービスタイプTCP/UDP、外部ポートと内部ポートを22に設定してポート転送を設定しました。これは、内部IPアドレスを指します。

説明から、ルーターはポート22をリッスンしていないようです。

私はいくつかのことをテストします

  1. パブリックIPアドレスにpingを実行することはできますか?そうでない場合は、ルーターでping/ICMPリスニングをアクティブにできますか?
  2. ポート8022でルーターをリッスンし、それをポート22に転送するときに、機能するかどうかをテストします。Linuxでは、特権のないユーザーはポート1から1024を使用できません。したがって、おそらく同様のことです。
  3. さらに、ポート80または8080とhttpで動作するかどうかをテストします。おそらく、ルーターは何らかの理由でSSHを許可していません。
0
chloesoe

ルーターのNATテーブルを確認することをお勧めします。NATテーブルを使用すると、ルーターはそのポートでリクエストをリッスンし、リクエストをに転送できます。ターゲットマシンの指定ポート(必要に応じて同じポートにすることができます)。ユーザーは1024〜49151のポートを使用できます。非標準ポートを使用する場合は、sshコマンドで-pフラグを使用してください。

0
Calvin Wels