sshを経由して閉環境内のhttp proxyを利用する
ssh proxy
みたいなワードを頑張って組み合わせて検索しても、大体HTTP proxy経由でsshトンネルを掘るという記事が出てきてぱっと見当たらなかったのでメモしておく。
結論から言うと LocalForward
の機能を使えばできると。
LocalForwardの説明とかは この辺り のチートシートサイトを見てもらえればよいかと。
自分は開発でたまに使いそうだったので .ssh/config
に設定を追記してバックグラウンド実行する感じで使いました。
.ssh/config
Host INTERNAL_PROXY HostName aaa.bbb.ccc.ddd IdentityFile RSA_KEY_PATH User USER DynamicForward 8080
コマンド
ssh -f -N INTERNAL_PROXY
どこで必要だったのか
仕事でサービス連携とかしていて、稀にIP登録してそのIP以外は受け付けないというサービスがあったりあったりする。 その時に自社が管理する複数のインスタンスからアクセスしたいという場合、自社サービス環境内にproxyを立ててそこ経由でアクセさせるというのは、前述の様な条件のサービスの場合はままあるのではないかと。
で、困るのが開発するときに動作確認がやりにくいという点。 なんとかproxyを経由してアクセスしたいけど、前述の様なproxyをGlobalに公開するようなことはあまりない気がするのでなんとかしないといけない、というのを解決したかったのが動機。