Zero Trust (零信任) 是一个安全框架标准,要求所有用户在被授予或保持对应用程序和数据的访问权限之前,都要针对进行身份验证 —— 即对每一次会话进行验证
Cloudflare Zero Trust 是 Cloudflare 推出的 「零信任」平台,为每个团队提供 50 成员的免费订阅,我们可以将一些关键的服务放在 Zero Trust 后面保护, 先前介绍过保护网页的方法, 本篇博客介绍如何利用 Cloudflare Zero Trust 保护 SSH.
准备
参考本博客之前的文章 《使用 Cloudflare Zero Trust 保护管理面板》, 创建团队并且配置登录策略.
创建一个新的 Tunnel, 并且参照提示在服务器/软路由/NAS上安装 cloudflared
配置 Web SSH
创建一个新的 Public Hostname, 按照提示设置域名
在下方选择 Type: SSH
, URL: localhost:22
(如果你的 SSH 端口不是 22, 改为你实际使用的端口)
创建一个新的应用 (Application), 选择 Self-hosted
, 在此处(图三)输入刚才设置的域名
一路向下继续, Policies
名称随意填写, 然后在最后一步的 Additional settings
设置中将 Browser rendering
设置为 SSH
如果你在设置策略的时候在 Assign a group 下面没有看到任何组, 请查看我先前的博客文章《使用 Cloudflare Zero Trust 保护管理面板》
登录 Web SSH
在浏览器地址栏输入你刚才设置的域名, 然后通过你之前设置的认证方式登录 Cloudflare Zero Trust
在 user 中输入你的 Linux 服务器用户名
然后输入登录密码
或者私钥和私钥密码
如果这里 Password 是灰色, 说明你没有允许密码登录, 你可以使用你的私钥登录, 也可以选择开启密码登录, 方法如下
找到 passwordAuthentication 行, 将后面的内容改为 yes, 然后刷新网页vi /etc/ssh/sshd_config
随后应该就可以登录了