Cloudflare Tunnel経由でSSH接続する設定手順

ポート開放なしで自宅サーバーへSSHするにはCloudflare Tunnelが使える。cloudflaredのインストールからProxyCommand設定までの最短手順を示す。

サーバー側のトンネル作成

cloudflared tunnel createでトンネルを作り、ingress設定でssh://localhost:22を紐づける。DNSルートをtunnel経由のCNAMEとして登録する。

クライアント側の設定

接続元にもcloudflaredを入れ、~/.ssh/configにProxyCommand cloudflared access ssh --hostname ホスト名を記述する。以後は通常のsshコマンドで接続できる。

アクセス制御の追加

Cloudflare AccessでメールOTPやIdP連携の認証を挟める。公開鍵認証と二段構えにすると踏み台なしでも安全性を確保しやすい。