跳转到内容
搜索文档

使用客户端 cloudflared 连接到 SSH

最后更新 查看 MarkdownAgent 设置

最终用户可以在没有 Cloudflare One Client 的情况下,通过在原生终端中通过 cloudflared 进行身份验证来连接到 SSH 服务器。此方法需要在服务器和客户端计算机上都安装 cloudflared,并在 Cloudflare 上拥有一个活动区域。流量在此连接上进行代理,并且用户使用其 Cloudflare Access 凭证登录到服务器。

客户端 cloudflared 可以与 Cloudflare One ClientAccess for Infrastructure 结合使用,从而有多种方法连接到服务器。在配置每个连接方法时,您可以重复使用相同的 Cloudflare Tunnel。

1. 将服务器连接到 Cloudflare

  1. 按照我们的仪表板设置指南创建一个 Cloudflare Tunnel。

  2. 在 Cloudflare 仪表板中,转到 Networking(网络) > Tunnels(隧道) 并选择您的 Tunnel。

    Go to Tunnels ↗
  3. Routes(路由) 选项卡上,选择 Add route(添加路由),然后选择 Published application(已发布的应用程序)

  4. 从下拉菜单中选择一个域名并指定子域名(例如,ssh.example.com)。

  5. 对于 Service,选择 SSH 并输入 localhost:22。如果 SSH 服务器与您安装 Tunnel 的机器不是同一台,请输入 <server IP>:22

  6. 选择 Add route(添加路由)

  7. (推荐)将自托管应用程序添加到 Cloudflare Access,以便管理对服务器的访问。

2. 作为用户进行连接

  1. 在客户端计算机上安装 cloudflared

  2. 对您的 SSH 配置文件进行一次性修改:

    vim ~/.ssh/config
  3. 输入以下值;将 ssh.example.com 替换为您创建的主机名。

    Host ssh.example.com
    ProxyCommand /usr/local/bin/cloudflared access ssh --hostname %h

    cloudflared 的路径可能会根据您的操作系统和包管理器而有所不同。例如,如果您是在 macOS 上使用 Homebrew 安装的 cloudflared,请通过运行 brew --prefix cloudflared 来检查其路径。

  4. 您现在可以通过运行访问服务的命令来测试连接:

    ssh <username>@ssh.example.com

    运行该命令时,cloudflared 将启动一个浏览器窗口,提示您在从终端建立连接之前,先在身份提供商处进行身份验证。

这篇文档对您有帮助吗?