SSH サーバーをインストールした PC に Cloudfront の tunnel をインストールして,外部から SSH 接続する際に軽くハマったのでメモ CLI からも作成できるが,今回は GUI から行う.

ドメインのネームサーバーを登録する

省略

Tunnel を登録する

ダッシュボードから,Zero Trust -> Access -> Tunnelsの順に進み,Create a tunnelをクリック

その後は指示通りにすすめる.Route tunnel は以下のようにする.

クライアントを設定する

HTTP の場合(HTTP のホームページを作成して公開する場合等)はこれだけで公開が完了するが,SSH では追加の設定が必要になる.

まず SSH サーバーと同じように cloudflared をインストールする.Debian 系 arm64 の場合は以下のコマンド

curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb

cloudflared のインストール先を確認する

$ which cloudflared
/usr/local/bin/cloudflared

次に~/.ssh/configを以下のように編集する

Host [任意の名前を入力]
        User [ユーザー名を入力]
        Hostname [hostnameを入力]
        ProxyCommand [cloudflaredの場所を入力] access ssh --hostname %h

例)

Host foo
        User aaa
        Hostname foo.prolis.tech
        ProxyCommand /usr/local/bin/cloudflared access ssh --hostname %h

動作確認

あとはいつも通りに SSH するだけ

ssh [任意の名前を入力]
# または
ssh [username]@[hostname]
# または
ssh -i [公開鍵の場所] [username]@[hostname]