この回答は承認されたものに基づいていますが、私がそれを成し遂げることを可能にした詳細を追加しています。これは私の専門知識ではないので、歩行者の説明をお詫び申し上げます。
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
、仕事をします。