🌤️

cloudflare の tunnel を通して PC で ssh server を立てるときに参考にしたリンク集

2023/11/24に公開

この記事の目的

「自分の PC 上で作業することが多いのだが、外出時などは PC にアクセスすることができないため、ssh で iPad 端末などから気軽に作業できるようにしたい!」というモチベーションから、ssh server を立ててて cloudflare 経由で公開しました。その時に参考になったリンクを自分用にメモします。

ちなみに、cloudflare ではなく tailscale を用いてもできる(し、そのほうが楽です)ようですが、cloudflare を使っていきたいので勉強もふくめて cloudflre にしてみました。たぶん、app や blog を公開するとかだと cloudflare のほうがよさそう
https://tailscale.com/kb/1193/tailscale-ssh/

cloudflare の設定関連

cloudflare の tunnel を通して ssh server を公開したかった。理由は、cloudflare を(遅れたが)使ってみたかったから、ssh server を直接公開するよりも DDoS 対策などがデフォルトで入っている dns を通したほうが安全になるからなどがある。まずは、公式の docs を見ながらした。
https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/
途中、いくつかのブログを参考にした。特に以下の記事は、参考になるだけでなく、面白かった。
https://qiita.com/guskma/items/8509bc8ad16805b0e732

もうCloudFlareには足を向けて寝られないです。データセンタ含めるとどこ向いて寝ることもできません。立ったままで寝ましょう(嘘)

ちなみに、今回は command line でしましたが、cloudflare の dashboard からも tunnel の設定は可能なようです。

ssh 関連

そもそもの ssh の仕組み(認証,暗号化)

これがとても簡潔でわかりやすかった

server の導入

wsl2 関連

wsl2 で ssh server を立てるので、windows から port forward したりが必要になると思っていたが、よくよく考えてみれば cloudflare が tunnel を作ってくれているので、必要なかった。とはいえ、以下のリンクは勉強になった

認証

security のため(総当たり攻撃を避けるため)にも password 認証は許可せずに、publickey 認証のみを許可した

その他

systemd を使って、wsl2 の起動時に自動で ssh server と cloudflare の tunnel が起動するようにする必要がある

ちなみに、systemd で動いているものを確認するには

sudo systemctl --all list-unit-files --type=service

Next

cloudflare には他にもたくさん機能があるので、色々触ってみたい。まずは、blog を公開するところから...!

Discussion