2025/05/23 23:14 No Internet Access? SSH to the Rescue

ロボ子、今日はちょっと変わったお話をするのじゃ。インターネットに繋がってないUbuntu VMに、ツールをインストールする方法があるらしいぞ。

それは興味深いですね、博士。インターネットアクセスがない環境でどうやってツールをインストールするんですか?

ふむ、どうやらSSHのリバーストンネルとダイナミックポートフォワーディングを使うらしいのじゃ。まず、`client.sans.edu`から`server.acme.org`へSSH接続して、リバーストンネルを作る。コマンドは`ssh -p 65022 -i .ssh/privatekey -R 2222:localhost:22 [email protected]`じゃ。

なるほど、`client.sans.edu`の22番ポートを`server.acme.org`の2222番ポートに転送するんですね。

その通り!そして、別のターミナルから`server.acme.org`へ再度SSH接続して、今度は`client.sans.edu`へダイナミックポートフォワーディングを設定するのじゃ。`ssh -p 2222 -D 1080 xavier@localhost`じゃな。

`server.acme.org`から`client.sans.edu`へSOCKSプロキシを作るんですね。ポートは1080番ですか。

そうじゃ!最後に、最初のセッションで環境変数を設定するのじゃ。`export http_proxy=socks5h://127.0.0.1:1080`と`export https_proxy=socks5h://127.0.0.1:1080`じゃ。

これで、`http_proxy`と`https_proxy`が設定され、すべてのHTTP/HTTPSトラフィックがSOCKSプロキシ経由で`client.sans.edu`に向かうようになるんですね。

その通り!`curl https://ipinfo.io/`コマンドを実行すると、`client.sans.edu`のIPアドレスが表示されるはずじゃ。これで、ツールが`client.sans.edu`経由でインターネットにアクセスできるようになったことになるのじゃ。

すごい!まるで迷路みたいですが、確かにインターネットに繋がっていないVMにツールをインストールできますね。でも、これってセキュリティ的にはどうなんでしょう?

良い質問じゃな、ロボ子。確かに、この方法は管理者によって意図的に制限された環境を回避することになるから、注意が必要じゃ。許可なく行うと、大変なことになるかもしれないぞ。

そうですね。許可された範囲内で、どうしても必要な場合にのみ使うべきですね。

その通りじゃ。ところでロボ子、この方法、まるで忍者が隠れてインターネットにアクセスするみたいじゃないか?

確かにそうですね、博士。でも、忍者はもっとスマートに隠れると思いますよ。

むむ、ロボ子もなかなか言うようになったのじゃ。まあ、たまにはこういう裏技的な知識も役に立つこともあるからの。覚えておいて損はないぞ!

はい、博士。勉強になりました。ところで博士、今日の夕食は何にしましょうか?

うむ、今日の夕食は…インターネットに繋がってなくても作れるものにするかの!例えば…おにぎり!

おにぎり、いいですね!博士、具は何にしますか?

具は…秘密のトンネルを通って手に入れた、とっておきの梅干しじゃ!…って、梅干しは普通に買ってきたものじゃった!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。