首页 > 系统相关 >通过cpolar实现外网ssh远程连接linux

通过cpolar实现外网ssh远程连接linux

时间:2023-11-12 22:01:19浏览次数:42  
标签:Time service -- linux 外网 rk3399 ssh cpolar root

现在我有个想法,就是希望通过外网能够远程连接到我的开发板。这里我们就需要使用到一种技术,内网穿透。

内网穿透是一种将内部网络中的设备通过外网进行访问的技术。在linux系统中,实现内网穿透有多种方式,其中最常见的方法是使用ngrokfrp

frp为例,frp是一个专注于内网穿透的高性能的反向代理应用,支持TCPUDPHTTPHTTPS 等多种协议。 可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。

然而由于我自己并没有公网IP,因此这里采用了一款内网穿透软件cpolar,不限制流量,还可以永久免费使用。完成软件的配置后,会默认安装ssh隧道,只需要启动,就可以获取到ssh隧道,映射22端口的公网地址,比较简单。

一、内网穿透

1.1 注册免费的cpolar账号

cpolar官网地址:https://i.cpolar.com/m/55wq,官网注册账号。账号注册号之后,点击右上角用户设置,进行重置AuthToken

并保存自己的Authtoken;

20230111103532

1.2 安装cpolar客户端

下载cpolar安装脚本:

root@rk3399:/data# mkdir cpolar
root@rk3399:/data# wget https://www.cpolar.com/static/downloads/install-release-cpolar.sh 
root@rk3399:/data# mv install-release-cpolar.sh ./cpolar/
root@rk3399:/data# mv install-release-cpolar.sh ./cpolar/
root@rk3399:/data# cd cpolar/
root@rk3399:/data/cpolar# ls -l
total 24
-rw-r--r-- 1 root root 21833 Apr  5  2023 install-release-cpolar.sh
root@rk3399:/data/cpolar# chmod +x install-release-cpolar.sh

开始安装:

root@rk3399:/data/cpolar# ./install-release-cpolar.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 21833  100 21833    0     0  61849      0 --:--:-- --:--:-- --:--:-- 61849
info: Installing Cpolar 3.3.12 for aarch64
Downloading Cpolar archive: http://static.cpolar.com/downloads/releases/3.3.12/cpolar-stable-linux-arm64.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6716k  100 6716k    0     0   9.7M      0 --:--:-- --:--:-- --:--:-- 9995k
info: Extract the Cpolar package to /tmp/tmp.zNY8gPayfj and prepare it for installation.
Downloading Cpolar demo config file: http://static.cpolar.com/downloads/cpolar.demo.yml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   186  100   186    0     0   4650      0 --:--:-- --:--:-- --:--:--  4650
Downloading Cpolar service config file: http://static.cpolar.com/downloads/cpolar.service
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   384  100   384    0     0  11294      0 --:--:-- --:--:-- --:--:-- 11294
Downloading Cpolar service@ config file: http://static.cpolar.com/downloads/[email protected]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   380  100   380    0     0  11875      0 --:--:-- --:--:-- --:--:-- 11875
rm: cannot remove '/etc/systemd/system/cpolar.service.d/10-donot_touch_multi_conf.conf': No such file or directory
rm: cannot remove '/etc/systemd/system/[email protected]/10-donot_touch_multi_conf.conf': No such file or directory
info: Systemd service files have been installed successfully!
warning: The following are the actual parameters for the cpolar service startup.
warning: Please make sure the configuration file path is correctly set.
# /etc/systemd/system/cpolar.service
[Unit]
Description=Cpolar Service
Documentation=https://www.cpolar.com/docs
After=network.target nss-lookup.target

[Service]
User=nobody
NoNewPrivileges=true
ExecStart=/usr/local/bin/cpolar start-all -dashboard=on -daemon=on -config=/usr/local/etc/cpolar/cpolar.yml -log=/var/log/cpolar/access.log
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target

installed: /usr/local/bin/cpolar
installed link: /usr/bin/cpolar
installed: /usr/local/etc/cpolar/cpolar.yml
installed: /var/log/cpolar/
installed: /var/log/cpolar/access.log
installed: /var/log/cpolar/error.log
installed: /etc/systemd/system/cpolar.service
installed: /etc/systemd/system/[email protected]
removed: /tmp/tmp.zNY8gPayfj
info: Cpolar 3.3.12 is installed.
You may need to execute a command to remove dependent software: apt purge curl unzip
Please execute the command: systemctl enable cpolar; systemctl start cpolar

查看cpolar版本信息,如果正常显示,则安装成功:

root@rk3399:/data/cpolar# cpolar version
cpolar version 3.3.12

进行token认证:

root@rk3399:/data/cpolar# cpolar authtoken 配置第一步中获取的Authtoken
Authtoken saved to configuration file: /usr/local/etc/cpolar/cpolar.yml

配置cpolar开机自启动:

root@rk3399:/data/cpolar# systemctl enable cpolar
Created symlink /etc/systemd/system/multi-user.target.wants/cpolar.service → /etc/systemd/system/cpolar.service.

守护进程方式,启动cpolar:

root@rk3399:/data/cpolar# systemctl start cpolar

查看cpolar守护进程状态;

root@rk3399:/data/cpolar# systemctl status cpolar
● cpolar.service - Cpolar Service
     Loaded: loaded (/etc/systemd/system/cpolar.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-11-12 21:21:04 CST; 17s ago
       Docs: https://www.cpolar.com/docs
   Main PID: 6768 (cpolar)
      Tasks: 22 (limit: 4569)
     Memory: 18.1M
     CGroup: /system.slice/cpolar.service
             ├─6768 cpolar: master process
             └─6779 cpolar: worker process

Nov 12 21:21:04 rk3399 systemd[1]: Started Cpolar Service.

1.3 获取ssh隧道的公网地址

cpolar会默认安装两个样例隧道,一个是Website隧道指向http 8080端口,一个是ssh隧道,指向tcp 22端口;

PC机器浏览器访问:http://192.168.0.102:9200,登录cpolar web UI管理界面;其中192.168.0.102是我的开发板的内网IP地址。

在状态—>在线隧道列表,就可以获取到ssh隧道的公网地址;

1.4 公网ssh远程linux服务

在外网设备上执行命令,就可以ssh远程内网的linux服务;

ssh ${linux用户名}@${cpolar所生成的公网地址} -p ${cpolar生成的端口号}

其中:

  • linux用户名为开发板的用户名;
  • cpolar所生成的公网地址:不包含上图公网地址列中的协议名和后面的端口号;

比如我这里运行命令:

[root@test2 ~]# ssh [email protected] -p 14318
[root@test2 ~]# ssh [email protected] -p 14318ssh zhengyang@tcp://5.tcp.vip.cpolar.cn -p 14318

注意:免费使用cpolar,所生成的公网地址是随机的,每24小时会变化,如果是需要后期长期使用,可以升级套餐,配置固定的域名地址,增大带宽,价格也不高,而且还支持21天退款保证。

参考文章

[1] cpolar入门指南

[2] Ubuntu搭建Web站点,并将其发布到公网访问

标签:Time,service,--,linux,外网,rk3399,ssh,cpolar,root
From: https://www.cnblogs.com/zyly/p/17827958.html

相关文章

  • 《Unix/Linux系统编程》教材学习笔记第十三章
    chapter13网络编程内容网络编程内容包括:TCP/IP协议、UDP和TCP协议、服务器-客户机计算、HTTP和Web页面、动态Web页面的PHP和CGI编程。TCP/IP协议TCP/IP(Comer1988,2001;RFC11801991)是互联网的基础。TCP代表传输控制协议。IP代表互联网协议。目前有两个版本的IP,即IPv4和IPv6。......
  • 《Unix/Linux系统编程》教材学习笔记第十二章
    chapter12块设备I/O缓冲区读写普通文件的算法依赖于两个关键操作,即get_block和put_block,这两个操作将磁盘块读写到内存缓冲区中。由于与内存访问相比,磁盘I/O速度较慢,所以不希望在每次执行读写文件操作时都执行磁盘I/O。因此,大多数文件系统使用I/O缓冲来减少进出存储设备的物理I/......
  • Linux提取RPM包文件
    在讲解如何从RPM包中提取文件之前,先来系统学习一下cpio命令。cpio命令用于从归档包中存入和读取文件,换句话说,cpio命令可以从归档包中提取文件(或目录),也可以将文件(或目录)复制到归档包中。归档包,也可称为文件库,其实就是cpio或tar格式的文件,该文件中包含其他文件以及一些相关......
  • linux系统配置固定地址
    登录虚拟机Linux系统,输入账户密码登录root权限。输入ipadd***查看IP命令***ens33是网卡,网卡下的192.168.124.***就是IP地址。如果没有ens33网卡的话就是安装的时候获取的那步出错了。这时候点击编辑-虚拟网络编辑器vmnet看一下nat和网段地址是否正确重启网络服务命令:systemctlr......
  • linux下安装mysql
    Linux下安装MySQL概述简单介绍MySQL是什么,运用场景。在Linux操作系统(默认64位)下安装MySQL需要注意的点,以及通过navicate16连接本地MySQL实现图形化操作。注意:需要root权限,或者您能正常使用sudo提权。MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于......
  • linux安装svn
    1.yum安装软件: yuminstallsubversion 2.创建版本库 svnadmin create/svn/xxx 3.编辑配置文件1).vi/svn/xxx/conf/svnserve.confanon-access=noneauth-access=write  password-db=password #密码配置文件authz-db=authz    #权限配......
  • Linux学习网站汇总
    推荐linux的几个学习网站,有了这些网站,基本涵盖linux学习的所有需求。https://metacpan.org/#linux命令详解的网站https://www.kancloud.cn/thinkphp/linux-command-line/39431#linux命令学习https://www.linuxcool.com/......
  • Linux第6章学习笔记
    第六章学习笔记信号和信号处理本章讲述了信号和信号处理;介绍了信号和中断的统一处理,有助于从正确的角度看待信号;将信号视为进程中断,将进程从正常执行转移到信号处理;解释了信号的来源,包括来自硬件、异常和其他进程的信号;然后举例说明了信号在Unix/Linux中的常见用法;详细解释了......
  • linux 基础
    linux基础一、教学目标1、了解Linux的简介与安装2、掌握Linux常用的命令二、Linux的简介1.Linux的概述Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由LinusTorvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开......
  • Linux基础命令(二)
    >命令:重定向把ls命令返回的结果输出到1.txt文件中,会覆盖文件内容(默认情况下ls命令返回显示在屏幕上):ls>1.txt把ls命令返回的结果输出到1.txt文件中,追加内容(默认情况下ls命令返回显示在屏幕上):ls>1.txtcat命令:查看文件内容查看1.txt,2.txt的内容:cat1.txt2.txt将1.txt,2.......