Use SSH Service via Cloudflare

1. Preface

一直以来有在公网使用 SSH 服务的需求,之前有使用过公网服务器来进行 SSH 转发,但若公网服务器或域名被网关封锁就也无能为力了,幸好还有 Cloudflare 的动态代理,为人津津乐道的还是它的免费。为什么对普通用户这么友好的服务在大陆没有呢?这个问题就很好所以答案不重要。

2. Cloudflare tunnel

Cloudflare 官网有详细的教程指导如何借助 Cloudflare Zero Trust 来为 Secure Shell Protocol (SSH) 提供穿透 ,这里选择 Connect to SSH server with cloudflared access 的方式,步骤如下:

  1. Connect the server to Cloudflare: 将 SSH 服务器和 Cloudflare 进行连接;
  2. Connect as a user: 对使用 SSH 的客户端进行设置。

3. SSH client connect

首先在 ${HOME}/.ssh/config 文件中对客户端 SSH 进行设置:

Host arch-over-cloudflare
     HostName ssh.xxxxx.xxx
     Port 22
     User test
     ProxyCommand /usr/bin/cloudflared access ssh --hostname %h
     IdentityFile /run/user/1000/gnupg/S.gpg-agent.ssh

然后在命令行连接即可,最终的效果如下。

_20240113_142544screenshot.png