前言:远程ssh众所周知需要开放端口,将ssh端口进行端口映射。在方便远程管理的同时,将带来潜在的风险,比如:别有用心的人扫网段,进行爆破,如果口令不强,可能被破解,沦为肉鸡。下面介绍一种非常安全稳妥的远程访问方案,不同于zerotier、tailsacle等,这次用大名鼎鼎的cloudflare tunnel免费服务进行。下面介绍无须映射端口,利用免费cloudflare tunnel进行远程安全SSH访问方法。

1.注册域名,并在cloudflare进行托管、解析

这一步将默认你已经完成,如不会可以自行搜索

2.开启cloudflare zerotrust

在域名解析已经生效的情况下,进入https://one.dash.cloudflare.com ,点击左侧的ACCESS—》TUNNELS进入设置。

3.创建tunnel

点击右侧的create a tunnel,输入你想要的名称。下面根据你所用的操作系统,选择相应的系统进行下载或者部署。这里建议使用万能的docker进行部署,一键完成,简单到发指。点击docker图标,然后拷贝下面的docker命令行,比如:docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token xxxxxxxxxxxxxxxxxxxxxxxuuuuuuuuuuuuuuuuuuuuuuu这一大坨。记住莫泄露,不然别人就能访问你部署的资源了

4.配置tunnel

点击public hostname标签,点击右侧add public hostname,输入Subdomain,选择你的域名Domain,在下面的Service type选择SSH,根据你的情况输入相应的配置信息。别着急,保存后还有一步,点击下方的Additional application settings,继续点击Connection,在Proxy Type后输入"",表示开启http代理tcp流量进行ssh传输。完成后点击最下方的Save hostname

5.配置Applications

5.1 configure app

此时,你还没有能够通过浏览器输入域名访问你的SSH,需要进行applications配置。点击左侧ACCESS—》Applications进入设置。点击右侧Add an application,选择Self Hosted,第一行输入应用名称,第二行Subdomain输入你配置的子域名和Domain你的注册域名,在下面的Identity providersAccept all available identity providers的选择去掉,使One-time pin生效,点击next

5.2 add policy

此时进入设置策略,Policy name按需输入,下方Configure rules Include,选择Emails,输入你的电子邮件,将来建立连接后需要输入验证,点击next

5.3 setup

此时来到最后一步,一直拖到最下方,到Additional settings,下拉菜单选择SSH

6. 验证

在浏览器输入你的ssh二级域名,此时应该跳到Email验证,输入你配置的电子邮件,确认后将发出验证邮件。到邮箱里找到验证邮件,将验证码输入,此时会跳到ssh登录信息输入环节,输入后你会发现你的内网ssh已经可以被外网访问了。你并没有配置端口映射,而此时你的连接是SSL加密的,上面挂着点击小锁!


Avatar photo

sontjer

For the amatuer tech nerds & life maniacs.

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注