Netgear C6300(ファームウェアバージョン2.01.14)ルーター/モデムを使用しており、RaspberryPiに外部からSSHで接続しようとしています。これが私のポートフォワーディングの設定です:
内部ではssh 192.168.0.84
を使用してsshできますが、外部ではcanyouseeme.comで「エラー:ポート(22)でサービスを確認できませんでした。sshd_configの行はPort 22
とListenAddress
行がコメントアウトされています。つまり、このファイルには触れていません。ここで何が起こっているのでしょうか。
いくつかのことが頭に浮かびます。
スクリーンショットの転送は問題ないようです。 sshはTCPプロトコルであるため、TCP/UDP
ではなくTCP
に設定してみてください。
動的に更新された正しいホスト名または正しいパブリックIPアドレスを使用してもよろしいですか?パブリックIPアドレスを見つけるには、RaspberryまたはSSHで(内部的に)コンソールを開き、curl icanhazip.com
を使用します。
複数ある場合は、/etc/ssh/sshd_config
でsshdが正しいインターフェースをリッスンすることを確認してください。行ListenAddress a.b.c.d
を#
でコメントアウトし、サービスを再起動します(ディストリビューションに応じて、/etc/init.d/sshd restart
またはsystemctl restart sshd
)。編集:申し訳ありませんが、あなたはすでにそれを言った。
編集:
curl icanhazip.com
から出力を取得できない場合は、ラズベリーがインターネットへのアクセス方法を知らない可能性があります。そのため、外部からの接続試行には応答できません。ルートを追加します。e。 g。 ip route add default via <your modem's IP address>
を使用して、再試行してください。
Raspberry内部ファイアウォールが外部アドレスからのSSHを許可していることを確認してください。 iptables -S
はルールのリストを提供します。次のような行を探します
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
# SSH only allowed from the internal network, if iptables policy INPUT is DROP
その場合、iptables -P INPUT ACCEPT
またはiptables -I INPUT -p tcp --dport 22 -j ACCEPT
のいずれかですべての着信トラフィックを許可します。
内部的には、ホームネットワークでIPv4アドレスを使用します。あなたの例では192.168.0.x。ただし、ISPがネットワークでIPv6を使用している可能性があります。ルーターは、IPv4アドレスをIPv6に変換します。これにより、通常、リモートからホームネットワークに接続できなくなります。
curl icanhazip.com
がIPv6アドレスを提供した場合、e。 g。 2001:a61::35:2
、それは指標かもしれません。また、C6300にその情報が表示される場合もあります。 (私はAVM Fritz!Box 7360を使用しており、「Fritz!BoxはDS-Liteトンネルを使用しています」と明示的に出力します)。
100%確実にするには、ISPに連絡してください。
編集:
DS-Liteトンネルの背後にいる場合でも、リモートから自宅に接続するには、次のオプションが思い浮かびます。
autossh
を使用して、自宅のコンピューターを別のホストに接続します。 g。職場(前に雇用主に聞いてください)、Webサーバー、VPS。逆トンネルを作成するようにautossh
を構成します。 g。 ssh -R 10000:localhost:22 [email protected]
。次に、yourvps.comにSSHで接続し、そこからssh -p 10000 user@localhost
を介して帰宅します。編集:
ファームウェアバージョン2.01.14まで、またはそれまでのファームウェアにはバグがあるようです。これにより、[詳細設定]の[インターネット上のPingに応答するWANポート]]オプションの場合にのみ、開いているポートが表示されます。 ">「WANセットアップ」がアクティブになります。