SSH経由で自分自身に接続しようとしています。 (テスト目的で)。私はUbuntuノートブックを使用しています。 SSHサーバーを正常に起動し、「ssh localhost」が正常に動作します。 「ssh」を試してみるとうまくいきます。 (ifconfigから入手しました。)しかし、パブリックIPアドレス(Whatismyipadress.comから取得しました)を使用しようとすると、動作せずに2分後にタイムアウトが発生します。 (「ping」がうまく機能することに注意してください)
私はなぜこれを受け取るのか知っていますか?問題が私のルーター(またはモデムまたはそれに似ていますか?わかりません)で発生しても驚くことはありません。うまくいきますが、sshリクエストをどこにリダイレクトするのかわかりません(おそらくあなたのコンピュータにいるかもしれません)。自宅ではSSHサーバーを実行しませんか?)
答え1
@Findus23が言ったように、ルーターからPCへのポート(SSHルーター自体に接続するためのデフォルトポートとして使用される22とは異なるポート)を転送する必要があります。
たとえば、見てみましょう。
PC [192.168.1.10] <==> [192.168.1.1] Router [1.1.1.1] <==> Internet
ご覧のとおり、SSH経由でこのアドレスに接続すると、1.1.1.1
ルーターのパブリックインターフェイス(インターネット接続)のポート22に接続されます。
欲しいならルーターの背後にあるPCに接続してください(したがって、アドレス空間のプライベートネットワークでは192.168.1.0/24
)有効にする必要がありますフォワードポート。
ルータは、接続されているPCの完全なアドレス空間で接続する必要があるホストを知る必要があるため、これは必須です。たとえば、
(PC1[192.168.1.2], PC2[192.168.1.3]) <==> Router
ルータは、指定されたポートにルーティングする必要があるかどうか、PC1
およびタイミングを知る方法はありませんPC2
。
有効にするには、次のようにPort Forwarding
話すことができます。
インターネットからルーターポートXへのすべての接続は、PCZのポートYにルーティングする必要があります。
したがって、あなたの場合は次のようになります。
Router:<port> => PC1:22 (route connection from router port 4000 to port 22 of PC1)
ssh -p <port> user@<router-IP>
結果は、インターネットから指定されたローカルホストへの接続です。