CloudFlare Zero Trustでngrokの代わりにSSHする Synology NAS編

2022年11月5日時点で無料で使える

root権限に要注意

------------------------

cloudflaredのインストール

------------------------

DMS7にMaksim Karasevのパッケージがある

※Zero Trustのダッシュボードから適当にtunnelを作成しといてトークンを入れる
※このtunnel tokenはインストール用なので使わなくていい
※自動実行はしない

バイナリはここにインストールされる

/volume1/@appstore/cloudflared/bin/cloudflared

------------------------

ログイン

------------------------

sudo /volume1/@appstore/cloudflared/bin/cloudflared tunnel login

certが作成される

/root/.cloudflared/cert.pem

------------------------

tunnelの作成

------------------------

sudo /volume1/@appstore/cloudflared/bin/cloudflared tunnel create {TunnelName}

認証用のjsonファイルが書かれるのでファイルパスをメモしとく
/root/.cloudflared/{UUID}.json

------------------------

config.ymlの作成

------------------------

sudo vi /root/.cloudflared/config.yml

tunnel: {TunnelName}
credentials-file: /root/.cloudflared/{UUID}.json

ingress:
    - hostname: {HostName}
      service: ssh://localhost:22
    - service: http_status:404

------------------------

tunnelとDNSの紐付け

------------------------

sudo /volume1/@appstore/cloudflared/bin/cloudflared tunnel route dns {TunnelName} {HostName}

------------------------

サービスに登録

------------------------

sudo /volume1/@appstore/cloudflared/bin/cloudflared service install

sudo systemctl enable cloudflared

sudo systemctl status cloudflared -l

------------------------

クライアント側ssh設定

------------------------

$ cloudflared access ssh-config --hostname {HostName}

------------------------

host書き込み

------------------------

vi ~/.ssh/config

Host {HostName}
ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h

------------------------

sshで接続

------------------------

ssh {user}@{HostName}

いいなと思ったら応援しよう!