roskey's Blog

  1. 首页
  2. Cloud
  3. 正文

cloudflare tunnel ssh

2024-12-11 178点热度 0人点赞 0条评论

cloudflare 提供了不少免费的服务,其中一个就是zeroTrust中的Tunnel。这个服务在Cloudflare Zero Trust的Networks->Tunnel中,这个功能可以将一些内网的服务映射到公网上,这样我们就可以通过Cloudflare的网络来访问内网的这些服务了。

首先我们需要创建一个tunnel,这里选择cloudflared,然后给这个tunnel起个名。我们需要用下面的命令在内网中的机器上安装cloudflared。

curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb && rm cloudflared.deb

安装完成后,使用提供的JWT连接到cloudflare。

sudo cloudflared service install eyJa40e0a77265b7e0....

连接完成后,页面下方会显示连接上。

Snipaste_2024-12-11_19-29-46

然后我们可以配置所需要的子域名test.roskey.net,目标放上ssh的地址127.0.0.1:22 即可。

Snipaste_2024-12-11_19-41-59

在本地我们也需要安装cloudflared,cloudflared可以从这个连接下载。

安装好后,我们可以配置~/.ssh/config文件(windows为用户家目录下的.ssh/config/)。这里的IdentityFile使用是你正常登录服务器时所使用的私钥,也就是说不需要重新生成私钥。

Host test # 可以随意指定,主要提供给自己辨认
HostName test.roskey.net # 配置tunnel时,分配给服务端的子域名
IdentityFile ~\.ssh\private.pem
User admin
ProxyCommand C:\Program Files (x86)\cloudflared\cloudflared.exe access ssh --hostname %h

然后在命令行使用ssh test,即可访问远端。这样既可以在命令行直接访问远端,甚至还可以在vscode里直接打开远端。以后就算没有公网IP也可以直接远程访问啦。

若是在path中放上一个路径,比如路径设置为ssh,那么HostName中也需要加上对应的路径即可。

Snipaste_2024-12-11_19-58-19
  • https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/use-cases/ssh/#connect-to-ssh-server-with-cloudflared-access
标签: cloudflare tools
最后更新:2024-12-11

roskey

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

Archives

  • 2024 年 12 月

Categories

  • 5G
  • Cloud
  • 代码

COPYRIGHT © 2024 roskey's Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang