OpenWrt如何公网ssh远程连接【内网穿透】

简单几步实现openWRT结合cpolar内网穿透工具实现远程连接

1.安装cpolar内网穿透

cpolar是一个非常棒的跨平台内网穿透工具,可以通过安全隧道将NAT或防火墙后面的本地服务器,暴露给公共互联网。

通过ssh连接操作openwrt,下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

下载完成后添加公钥

opkg-key add cpolar-public.key

添加cpolar的opkg仓库源

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

更新仓库

opkg update

开始安装cpolar内网穿透,分别执行下面三个安装命令安装三个包:

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

安装完成后,打开openwrt Web管理界⾯,我们可以看到有个service,下面就可以看到cpolar内网穿透

image-20230426172304148

点击进去后即可看到cpolar界面

image-20230426173631379

登录cpolar官网,如果没有注册账号,可以先注册账号,然后点击左侧的验证,查看自己的认证token,

https://www.cpolar.com

20230111103532

之后将官网查看的token复制到openwrt cpolar服务界面的Auth Token里,设置后点击保存

image-20230426174954224

保存成功后点击界面里的 打开Web-UI界面 ,即可看到cpolar web ui 界面

image-20230426175417187

使用我们在cpolar官网注册的邮箱账号登陆,登陆后即可对隧道进行管理,安装就完成啦

image-20230426175513987

2.配置SSH远程访问隧道

浏览器打开cpolar web UI管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于ssh连接默认的是22端口,因此我们要来创建一条tcp隧道,指向22端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:22 (ssh 默认端口)
  • 域名类型:选择随机域名(免费)
  • 地区:选择China VIP

点击创建

image-20230516165635882

创建好后打开在线隧道列表,查看生成的随机公网tcp地址,复制公网地址,注意无需复制tcp://

image-20230516175209376

3.公网远程连接

打开连接工具,输入生成的公网地址,tcp://不需要输入,端口号是cpolar公网地址后面的公网端口号,点击连接

image-20230516182615307

然后出现输入用户名和密码,即可登陆成功

image-20230516182734737

同样 使用命令行也是连接成功

ssh -p 公网端口号 username@公网地址

这里需要注意,由于我们的本地22端口到了公网被映射到了12807端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号

image-20230516182947702

4.固定远程连接地址

上面使用cpolar建立的临时TCP数据隧道,成功通过ssh连接上了openWRT系统。不过,此时的TCP数据隧道还是随机临时TCP隧道,每隔24小时端口号就会发生变化。

如果想要让不同设备间的数据隧道长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用cpolar服务器资源,因此不得不将此服务列入VIP项目中)。

要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的预留界面

20230530092244

20230530092321

在预留界面中,找到保留的TCP地址项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

image-20230516183200729

在这些信息填入后,点击右侧的保留按钮,将cpolar官网后台的隧道固定下来,此时cpolar会生成一个隧道tcp端口

image-20230516183300937

接着我们回到浏览器cpolar界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面,

image-20230516183356611

将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址栏中,然后点击下方的更新按钮.

image-20230516183430350

然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址

image-20230516183511587

打开连接工具,创建一个连接,输入固定的公网地址,tcp://不需要输入,端口号是公网地址后面的端口号,然后点击连接

image-20230516183611050

然后输入用户名和密码,我们可以看到连接成功

image-20230516183738108

同样,我们使用命令行模式连接也是成功的,现在这个公网地址是固定的了,不会再随机变化,只要保持隧道可以正常在线,我们在公网环境下就可以通过这个公网地址来ssh远程内网的openwrt。

image-20230516184040149

Share:

发表回复

目录

On Key

推荐文章