私は自宅に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マシン?ルーター?これを理解する方法はありますか?
ありがとう!
私は数日前に同様の問題を抱えていました。モデムまたはルーターがブリッジとして構成されていない可能性があります。 ISPによって異なります。通常モードでは、すべての着信接続がブロックされますが、ブリッジモードに切り替えるとすべてのアクセスが可能になります。これを変更するにはISPに電話する必要があったので、パブリックIPアドレスを取得し(長い間正確に固定されていませんが、それで十分です)、ルーターがすべての接続のブリッジとして機能するようになりました。
ISPにはIPアドレスがなく、他のルーティング関連のもののほかにユーザーを隠すことがすべてです。あなたは本当にパブリックIPアドレスを持っている必要があります。
問題がISPのネットワークデバイスにあるかどうかを最初に調べ、次にルーターにあり、次にPCにあるかどうかを調べます。
もう一度試して、ポートを8022から443に移動できますか?
一部のISPでは、ポートフィルタリングが非常に制限されている場合があります。しかし、443はフィルタリングされていないことがよくあります。また、10000を超えるポートの方が可能性が高いかもしれませんが、nmapから、445程度まで到達できることがわかります。ローカルネットワークの外部からnmapを実行しましたか?最良の証拠は、ホームネットワークの外部からパブリックIPに向けてnmapを起動できるかどうかです。
Kr、
シスコ
(3)Netgear C3700-100NASルーターで、変更されないようにubuntuマシンのIPアドレスを予約しました。
(4)サービスタイプTCP/UDP、外部ポートと内部ポートを22に設定してポート転送を設定しました。これは、内部IPアドレスを指します。
説明から、ルーターはポート22をリッスンしていないようです。
私はいくつかのことをテストします
ルーターのNATテーブルを確認することをお勧めします。NATテーブルを使用すると、ルーターはそのポートでリクエストをリッスンし、リクエストをに転送できます。ターゲットマシンの指定ポート(必要に応じて同じポートにすることができます)。ユーザーは1024〜49151のポートを使用できます。非標準ポートを使用する場合は、sshコマンドで-pフラグを使用してください。