Mac環境やLinux環境ではsshuttleを便利に使っていたのだが、Windows/WSL環境になってからはsshuttleがうまく動かずにいた。 正確に書くと、WSLからはポートフォワードできるのだが、Windows側からはポートフォワードできない。 例えばサーバのリモートKVMにアクセスしたいときは、Windowsのブラウザを使うので不便である。 これを解決するのがwsshuttleである。
使い方は作者の方がQiitaに書かれているのでそちらを参照するとよい。
私の使い方
wsshuttleはWindowsのルーティングテーブルを変更する関係でWindowsの管理者権限が必要になる。 WSL環境から管理者権限でプロセスを実行するのは手間なのでやりたくない*1。 とはいえ wsshuttleのためだけにターミナルを管理者権限で実行するのは過剰すぎる…。
そこで私はWindowsターミナルを使っている。 どういうこと?っと思うかもしれないが、WindowsターミナルではCtrl押しながらクリックして新しいターミナルを開くと、そのターミナルのみ管理者権限で実行されるようになる。
管理者権限で開かれたタグは別プロセスになる関係で別のウインドウとなる。 そのウインドウの左上には管理者権限で開かれたことがわかるように盾のアイコンが表示されている。
このウインドウでwsshuttleを実行すれば権限問題は解決するという感じ*2。
おまけ: asdf-wsshuttleを作った
asdfプラグインを作ったのでご活用ください。
まとめ
wsshuttle便利なのでみんな使ってほしい。 なお、ここ最近使い始めたみたいな書きっぷりになってしまったが、去年くらいから使っていたのであった。