简单几步实现openWRT结合cpolar内网穿透工具实现远程ssh连接
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内网穿透
点击进去后即可看到cpolar界面
登录cpolar官网,如果没有注册账号,可以先注册账号,然后点击左侧的验证
,查看自己的认证token,
https://www.cpolar.com
之后将官网查看的token复制到openwrt cpolar服务界面的Auth Token里,设置后点击保存
保存成功后点击界面里的 打开Web-UI界面
,即可看到cpolar web ui 界面
使用我们在cpolar官网注册的邮箱账号登陆,登陆后即可对隧道进行管理,安装就完成啦
浏览器打开cpolar web UI管理界面,我们点击左侧仪表盘的隧道管理
——创建隧道
,由于ssh连接默认的是22端口
,因此我们要来创建一条tcp隧道,指向22端口:
点击创建
创建好后打开在线隧道列表,查看生成的随机公网tcp地址,复制公网地址,注意无需复制tcp://
打开连接工具,输入生成的公网地址,tcp://
不需要输入,端口号是cpolar公网地址后面的公网端口号,点击连接
然后出现输入用户名和密码,即可登陆成功
同样 使用命令行也是连接成功
ssh -p 公网端口号 username@公网地址
这里需要注意,由于我们的本地22端口到了公网被映射到了12807端口(您的公网端口可能不一样),所以,ssh命令需要加-p参数,后面加公网端口号
上面使用cpolar建立的临时TCP数据隧道,成功通过ssh连接上了openWRT系统。不过,此时的TCP数据隧道还是随机临时TCP隧道,每隔24小时端口号就会发生变化。
如果想要让不同设备间的数据隧道长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用cpolar服务器资源,因此不得不将此服务列入VIP项目中)。
要建立一条稳定的TCP数据隧道,我们首先要登录cpolar官网,进入仪表台的预留
界面
在预留界面中,找到保留的TCP地址
项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。
在这些信息填入后,点击右侧的保留
按钮,将cpolar官网后台的隧道固定下来,此时cpolar会生成一个隧道tcp端口
接着我们回到浏览器cpolar界面,打开隧道列表
,找到之前创建的随机临时TCP隧道,进入编辑
页面,
将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址
栏中,然后点击下方的更新
按钮.
然后再次查看在线隧道列表,发现ssh的隧道对应的公网地址变成了我们官网保留的固定地址
打开连接工具,创建一个连接,输入固定的公网地址,tcp://
不需要输入,端口号是公网地址后面的端口号,然后点击连接
然后输入用户名和密码,我们可以看到连接成功
同样,我们使用命令行模式连接也是成功的,现在这个公网地址是固定的了,不会再随机变化,只要保持隧道可以正常在线,我们在公网环境下就可以通过这个公网地址来ssh远程内网的openwrt。
转载自cpolar极点云文章:openWRT如何公网ssh远程连接【内网穿透】 - cpolar 极点云