cloudflare の tunnel を通して PC で ssh server を立てるときに参考にしたリンク集
この記事の目的
「自分の PC 上で作業することが多いのだが、外出時などは PC にアクセスすることができないため、ssh で iPad 端末などから気軽に作業できるようにしたい!」というモチベーションから、ssh server を立ててて cloudflare 経由で公開しました。その時に参考になったリンクを自分用にメモします。
ちなみに、cloudflare ではなく tailscale を用いてもできる(し、そのほうが楽です)ようですが、cloudflare を使っていきたいので勉強もふくめて cloudflre にしてみました。たぶん、app や blog を公開するとかだと cloudflare のほうがよさそう
cloudflare の設定関連
cloudflare の tunnel を通して ssh server を公開したかった。理由は、cloudflare を(遅れたが)使ってみたかったから、ssh server を直接公開するよりも DDoS 対策などがデフォルトで入っている dns を通したほうが安全になるからなどがある。まずは、公式の docs を見ながらした。
途中、いくつかのブログを参考にした。特に以下の記事は、参考になるだけでなく、面白かった。もうCloudFlareには足を向けて寝られないです。データセンタ含めるとどこ向いて寝ることもできません。立ったままで寝ましょう(嘘)
ちなみに、今回は command line でしましたが、cloudflare の dashboard からも tunnel の設定は可能なようです。
- https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/
- https://zenn.dev/showm001/articles/2023-03-30-01
ssh 関連
そもそもの ssh の仕組み(認証,暗号化)
これがとても簡潔でわかりやすかった
server の導入
wsl2 関連
wsl2 で ssh server を立てるので、windows から port forward したりが必要になると思っていたが、よくよく考えてみれば cloudflare が tunnel を作ってくれているので、必要なかった。とはいえ、以下のリンクは勉強になった
認証
security のため(総当たり攻撃を避けるため)にも password 認証は許可せずに、publickey 認証のみを許可した
- https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
- https://qiita.com/jinnai73/items/f41fa6df6998d47d1f33
- https://qiita.com/jinnai73/items/f1822f2e4d567847e215
その他
systemd を使って、wsl2 の起動時に自動で ssh server と cloudflare の tunnel が起動するようにする必要がある
ちなみに、systemd で動いているものを確認するには
sudo systemctl --all list-unit-files --type=service
Next
cloudflare には他にもたくさん機能があるので、色々触ってみたい。まずは、blog を公開するところから...!
Discussion