この回答は承認されたものに基づいていますが、私がそれを成し遂げることを可能にした詳細を追加しています。これは私の専門知識ではないので、歩行者の説明をお詫び申し上げます。
2台のコンピュータがあるAとしBます。sshからにAしたいが、Bそれらに接続されているルーターでポート転送を実行できない。
受け入れられた回答が述べるように、Sこれを行うにはサーバーが必要です。コンピューターではB、sshからの接続を許可しSます。コンピュータからA、そのトンネルにアクセスしSて到達しBます。
しかし、どのようにしてそのサーバーを取得しますSか?見つけましたserveo(リンク:https : //serveo.net/)。それは非常に簡単に使用できます。何もインストールしたり登録したりする必要はなく、無料です。ウェブサイトによると、従うべき手順は次のとおりです。
コンピュータのエイリアスを考えてくださいB。たとえば、computer_B_alias。
コンピュータBで実行しssh -R computer_B_alias:22:localhost:22 serveo.netます。
さて、あなたは、コンピュータにアクセスできるBコンピュータからAコンピュータに次のコマンドを実行してA:ssh -J serveo.net user@computer_B_aliasあなたは代用する必要がどこuserコンピュータでユーザーの名前でB。
PS:もちろん、コンピューターを起動するときに、ポイント2を自動タスクにしますB。
PSS:これを試す前にssh、が両方のコンピューターにインストールされていることを確認してください。Ubuntuの場合sudo apt-get install ssh、仕事をします。