もう誰も信じたくない…
我が家のメイン回線は楽天アンリミットをWN-CS300FRで使っていると以前紹介しましたが、楽天アンリミットは大変お安い一方で「固定IPを選択できない」という特徴があります。
そのため、自宅ネットワークに外部からアクセスしたい時はGoogleRemoteDesktopを利用するなどして適当な端末を遠隔操作し、踏み台としていました。
この方法の問題はGUI環境でなければ使えない、ということであり、何よりグーグルを信じる必要があることから気持ちが悪かったのです。
いや、好きですよグーグル。お世話になっています。
トラストレスが売りの暗号資産を扱うのにグーグルを信用するってどうなのよという点で気持ちが悪かったのです。
さて、そんな中Umbrelと出会いました。
UmbrelはTorを使って外部にダッシュボードを公開しているじゃーありませんか。
もしかしたらTor経由すればssh接続できるんじゃないの?と調べてみたところ、普通に想定された使い方だった、のです。
というわけで今回は、Tor経由で自宅のネットワークにssh接続し、Umbrelサーバを遠隔操作する方法をご紹介したいと思います。
(2022/01/26追記)
UmbrelはVersion0.4.11から[Lightning Shell」というCLIアプリが追加されました。
この記事の方法をとらなくても多くの事ができてしまいます。
参考にしたサイト
(legokichi さん 最終更新日2018/06/15)
(kkent030315 さん 最終更新日2020/11/30)
構想
umbrel稼働中のラズパイ4にはwallet.datが保存されています。
いくら私が恐れを知らない素人でも、wllet.datを外部から閲覧可能な状態にすることには抵抗があります。
私の手元にはラズパイ4の購入でラズパイ3が余っているのですが、これの使い道を考えていましたので丁度いい、ということで下記のような構成にすることにしました。
[ラズパイ4=umbrel,ローカルネットワークからのssh接続可]|(有線接続)[インターネットへ]-[モバイルルータ=楽天アンリミット,静的IPサービスなし]|(無線接続)[ラズパイ3=ssh用tor,tor経由のssh接続可]
要はラズパイ3にtor経由で外部からssh接続し、ラズパイ3からローカルネットワークを使用してラズパイ4へssh接続しようという作戦です。
わざわざ有線接続と無線接続を分けていますが、なんとなくです。
外部からの接続にはwindowsを用いる予定です。
やり方
参考にしたサイトの記事を読み解きますと以下の工程に分解できます。
sshを受け付ける側の作業
- ラズパイにtorをインストール
- インストールしたtorの設定を変更しssh接続を受け付けるようにする
- tor再起動、「.onion」アドレスを確認
torを経由してssh接続したい側(windows)の作業
- torproject.orgから「Windows Expert Bundle」を入手する。
- tor.exeを起動する。
- TeraTermを入手する。
- TeraTermにプロキシ設定
- 「.onion」アドレスでssh接続
- うえーい
【ラズパイ】torをインストール
sudo apt updatesudo apt install tor
参考にしたサイトではtorバージョンの上げ方に触れていましたが、2021/10現在はこの作業だけでOnion Service v3がインストールされるようです。
【ラズパイ】インストールしたtorの設定を変更
sudo nano /etc/tor/torrc[torrcの内容を編集、末尾に以下を追記でOK]HiddenServiceDir /var/lib/tor/ssh_hidden_service/HiddenServicePort 22 127.0.0.1:22
【ラズパイ】tor再起動
sudo systemctl restart tor
【ラズパイ】「.onion」アドレス確認
sudo cat /var/lib/tor/ssh_hidden_service/hostname
表示された内容をメモしておきましょう。
【windows】tor.exeを起動する
TorProjectの該当ページから「Windows Expert Bundle」を入手・解凍しましたら、「解凍フォルダ\Tor\tor.exe」をダブルクリックします。
何やら黒い画面で進捗が表示されますが、
年月日時 [notice] Bootstrapped 100% (done): Done
等と表示されましたら準備オッケーです。
【windows】TeraTermにプロキシ設定
TeraTermの最新版を入手しましたら、「ttermpro.exe」をダブルクリックし、起動します。
- 新規接続を促されますが一旦キャンセルします。
- Setup>Proxyと進む。
- Type「SOCKS5」、Hostname「localhost」、PortNumber「9050」、他は空欄としOKボタンを押します。
Type「SOCKS5」、Hostname「localhost」、PortNumber「9050」、他は空欄としOKボタンを押します |
【windows】「.onion」アドレスへ接続する
Host欄に「メモした.onionのアドレス」、他はデフォのままにしてOKボタンを押す |
最後にFile>NewConnectionで表示された窓にて、Host欄に「先ほどメモした.onionのアドレス」を入力し他はデフォのままでOKボタンを押します。
その後の諸注意
- ローカルネットワーク上の端末とssh接続が確立されたら、あとは勝手知ったる自宅のネットワークです。更にsshしてumbrelサーバに接続するなりなんなりします。
- Tor経由ですとレスポンスが遅いです。反応がないように思えても、エラーが返ってこない限りは根気強く待ちましょう。10秒20秒待機は当たりまえです
まとめ
- Torはすごい。サーバの外部公開が簡単にできる。
- いい回線を使ったらVNCやRDP接続もいけるんじゃないか?
- VPNサービスやChromeRemoteDesktopなんていらなかったんや!TeamViewerなんていら(略
- googleを信じなくても良くなったが、そんなこと言い出すとそもそも楽天の回線を使っているのはいいのか?ということに気が付いてしまった。
- 暗号化されていればいいのでは?じゃあgoogleを信じてもいいのでは?そして私は考えるのをやめた…。
- 固定IP使えなくても工夫次第でなんとかなるんだなぁ。
- Torの.onionアドレスは十分に複雑なので安全という理屈らしい、IPv6アドレスでssh接続受け付けてしまえば、同じ理屈だしレスポンスが遅いことに我慢する必要もないんじゃ…。
- でも楽天アンリミット安いんだもん。
0 件のコメント:
コメントを投稿