前言:远程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 providers
将Accept 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加密的,上面挂着点击小锁!

0 条评论