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}