外から、Cloudflare Tunnnelで公開している自宅サーバーに、スマホを使ってssh
でアクセスする方法が分からなかったのでメモしておく。ちょっとできるようになってから時間が空いてしまって思い出しながら書いてるのと、あれこれ試行錯誤しながらやったので、不要だったり間違っていることもあると思うがご容赦願いたい。
Cloudflare Tunnelで自宅サーバーを公開するやりかたは CloudFlare Tunnelで自宅サーバーを公開するに書いてあるので、それ以降のやりかたとなる。
基本、 Cloudflare Zero TrustにAndroidを接続するまで(最短経路) - @uyorumの雑記帳と同様。
Get started | Cloudflare Zero Trust docsに沿って説明していく。自宅サーバーは192.168.0.0/24
範囲にあるものとする。
-
Settings > Authentication.
-
Login methods からログイン方法を Add new 追加する。
-
One-time PIN をクリックする。
-
-
Setting -> WARP Client.
- Device enrollment permissions 項目の Manage をクリックする。
- Rulee から Add a rule をクリックしてポリシールールを追加する。
Rule name Rule action Selector Value 任意(WARP login) Allow Emails sample@sample.com -
Device settings に戻って既にある(?) Default の
︙
縦三点リーダーをクリックして configure をクリックして編集画面を開く。( Careate profile した場合でもデフォルト設定値のままでOK) -
編集画面から Slpit Tunnels の Manage をクリックして除外するIPを削除する。(デフォルトには簡単に戻せる)
Type Value Desciption IP Address 192.168.0.0 - を Delete 削除する。
これをやらないと接続できない。本当は削除するだけでなく、自宅サーバーのIPアドレスだけ除外しないように、細かく追加する方が安全なんだろうけど、面倒すぎるのでやってない。
-
Settings > Resources.1
-
Certificates 項目の Manage をクリックする。
-
Certificate Cloudflare default certificate を Activate して有効化する。
-
-
Networks > Tunnels
-
作成したTunnelsの
︙
縦三点リーダーをクリックして configure をクリックして編集画面を開く。 -
Private Network タブをクリックしてPrivate Network一覧画面を開く。
-
Add a private network をクリックしてプライベートネットワークを追加する。これが鬼門?だった…手順書になかった…仕組みが分かっていれば、すぐに分かるのだろうが…
CIDR Description 192.168.0.0/24 2 (任意) -
-
WARPクライアントをインストールする。Androidだと Cloudflare One Agent - Google Play のアプリというアプリになる。以下、略でもいいのだが、一応メモしておく。
-
同意画面まで完了させて、 Cloudflare Zero Trustにログイン のダイアログを表示する。
-
組織名 …なんだそれ知らんぞ、忘れたという方は(私)、
-
Cloudflare Zero Trust ダッシュボードにログイン
-
Setting > Custom Pages
-
チーム名.cloudlflareaccess.com
とあるので、そのチーム名だけを入力する
-
-
WARP ログイン画面が表示されるのでメールアドレスを入力する
-
メールに届いたログインコードを入力する
-
Congratulationの画面が出たら成功
-
-
Androidターミナルアプリをインストール(例: Termius)
-
WARP(Cloudflare One)を起動して、接続済みにする
-
ssh接続情報を入力・編集して繋ぐ
-
OK!
-
ルート証明書をアクティブ化するの手順は 2024年10 月17 日以降に作成されたゼロトラストアカウントの場合は不要っぽい。 ↩︎
-
実際の値は自宅サーバーのローカルネットワークIPアドレスによる ↩︎