当前位置: 首页 > news >正文

如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

文章目录

    • 如何配置一个永久固定的公网TCP地址来SSH远程树莓派?
    • 前置条件
      • 命令行使用举例:
      • 修改cpolar配置文件
  • 1. Linux(centos8)安装redis数据库
  • 2. 配置redis数据库
  • 3. 内网穿透
    • 3.1 安装cpolar内网穿透
    • 3.2 创建隧道映射本地端口
  • 4. 配置固定TCP端口地址
    • 4.1 保留一个固定tcp地址
    • 4.2 配置固定TCP地址
    • 4.3 使用固定的tcp地址连接
      • 总结:

如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

本文讲述如何为树莓派的SSH远程配置一个永久股东的公网TCP地址 ↓

通常,每次启动Cpolar TCP隧道时,系统都会随机分配一个远程TCP地址和端口,它会在24小时后随机变化,这对于经常访问的用户,或者生产环境的服务来说很不方便。为此,您需要配置一个永久固定的公网TCP地址。

前置条件

  • 树莓派
  • 已启动SSH
  • 已安装cpolar
  • 已升级至cpolar专业套餐

首先,登录您的 cpolar 后台,在cpolar后台 -> 预留 -> 保留 TCP 地址部分,添加一条记录。

img

地区选择 China VIP,和填写描述,然后点击保留按钮。

系统会分配给您一个该地区的固定TCP地址,可供长期稳定使用。

img

在调用 cpolar 时使用 -remote-addr 选项参数,值为系统分配给您的保留 TCP 地址。

命令行使用举例:

  • 将后台预留的TCP地址绑定到本地SSH端口
cpolar tcp -remote-addr=1.tcp.vip.cpolar.cn:20046 22

修改cpolar配置文件

在树莓派中,修改cpolar配置文件,在ssh隧道下,添加remote_addr参数

nano /usr/local/etc/cpolar/cpolar.yml

img

注意:配置文件中的remote_addr参数为下划线,与命令行中使用的-remote-addr中划线不同。

修改完保存退出。

  • 测试配置文件,我们在前台单独启动隧道文件,测试一下
cpolar start ssh

img

如上图,已经主明已经启动了固定TCP端口隧道,与我们在后台获得得隧道地址一致。

CTRL+C退出。

  • 重新启动cpolar服务,使ssh隧道在后台生效。
sudo systemctl restart cpolar
  • 使用公网地址连接SSH测试
ssh pi@1.tcp.vip.cpolar.cn -p 20046

注意:由于公网端口变成20046,所以请求时,ssh命令要加上-p参数, 值为指定的cpolar公网端口号。

windows用户修改ssh客户端的默认端口为cpolar的公网端口即可。

1. Linux(centos8)安装redis数据库

  • 进入user下面的local目录,通常外部软件安装在此目录
cd /usr/local
  • 下载redis
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

20230203175201

  • 下载好后,解压redis
tar xzf redis-6.2.6.tar.gz
  • 解压好后,进入redis目录进行编译
cd redis-6.2.6/
  • 进入后输入make,输入后等待编译完成

20230203175202

编译好后,输入以下命令安装redis

make install PREFIX=/usr/local/redis-6.2.6

20230203175203

安装好后进入redis目录执行以下命令启动redis,默认端口是6379

./bin/redis-server redis.conf

20230203175204

然后Ctrl+C退出

2. 配置redis数据库

配置redis后台运行,编辑配置文件redis.conf

vim /usr/local/redis-6.2.6/redis.conf 

daemonize no 改成daemonize yes

20230203175205

还有将以下两个参数分别修改,开启远程访问

20230203175206

修改完成后保存退出配置文件,重启redis然后接着再次执行如下启动命令,发现redis图形不见了,即为后台启动

./bin/redis-server redis.conf

3. 内网穿透

cpolar是一款内网穿透软件,使用简单,安全可靠。我们可以通过cpolar把本地6379端口暴露到公共网络,然后可以使用工具进行远程访问。

cpolar官网:https://www.cpolar.com/

3.1 安装cpolar内网穿透

  • Linux支持使用一键脚本命令安装
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后执行如下命令,xxxx是token码

cpolar authtoken xxxxxxx(您的token)

20230206180545

  • 向系统添加服务(以方便开机自启)
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

3.2 创建隧道映射本地端口

cpolar安装成功后,在命令行输入以下命令将本地6369端口下的redis暴露到公网

cpolar tcp 6379

出现如下界面表示成功,然后复制公网地址

20230203175207

使用redis图形化界面远程连接redis,输入复制的tcp地址,点击测试连接

20230203175208

出现successful表示成功

20230203175209

注意:如果想要让隧道长期可访问,可以将其保存到配置文件中去,实现后台服务。请参考cpolar官网——文档——命令行创建隧道——将隧道配置为后台服务。

4. 配置固定TCP端口地址

以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。而我们可以为其配置一个固定的公网地址,方便后续长期远程。

4.1 保留一个固定tcp地址

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为远程Redis数据库保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

20230203175210

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

20230203175211

4.2 配置固定TCP地址

编辑cpolar配置文件

vim /usr/local/etc/cpolar/cpolar.yml

复制添加如下信息,remote_addr参数为上面复制的保留的tcp地址

redis:addr: 6379proto: tcpremote_addr: 3.tcp.vip.cpolar.cn:11506

20230203175212

修改完然后保存退出,接着重启cpolar服务

sudo systemctl start cpolar

4.3 使用固定的tcp地址连接

20230203175213

20230203175214·

出现successful表示成功

20230203175215

总结:

现在,我们每次远程连接树莓派时,不必每次修改远程ssh连接地址了,效率进一步提升。

转载自cpolar极点云文章:如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

相关文章:

如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

文章目录 如何配置一个永久固定的公网TCP地址来SSH远程树莓派?前置条件命令行使用举例:修改cpolar配置文件 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 …...

Kubernetes架构和工作流程

目录 一、kubernetes简介 1.k8s的由来 2.为什么用 k8s ? 3.k8s主要功能 二、k8s集群架构与组件 1.Master 组件 1.1Kube-apiserver 1.2Kube-controller-manager 1.3Kube-scheduler 2.Node组件 2.1Kubelet 2.2Kube-Proxy 2.3docker 或 rocket 3.配置存储中…...

C语言赋值号的运算顺序

从右到左。 int & f(int & a) { printf("参数 %d\n", a); return a; } int main(void) {int a 9;int b 3;f(a) f(b);// 运行到此处,a 3,b 3return 0; } 输出...

fishing之第四篇使用案例一模拟登陆口

文章目录 一、访问钓鱼平台二、Sending Profiles(发件人邮箱配置)三、User&Groups(接收人邮件列表)四、Landing Pags(钓鱼页面配置)五、Email Templates(邮件内容配置)六、Campa…...

CS 144 Lab Six -- building an IP router

CS 144 Lab Six -- building an IP router 引言路由器的实现测试 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Six 对应的PDF: Lab Checkpoint 5: building an IP router 引言 在本实验中,你将在现有的NetworkInterface基础上实现一个IP路由器&#xf…...

edge://settings/defaultbrowser default ie

Microsoft Edge 中的 Internet Explorer 模式 有些网站专为与 Internet Explorer 一起使用,它们具有 Microsoft Edge 等新式浏览器不支持的功能。 如果你需要查看其中的某个网站,可使用 Microsoft Edge 中的 Internet Explorer 模式。 大多数网站在新…...

Centos7安装jdk8教程——rpm安装

1. rpm文件下载 下载链接 Java SE 8 Archive Downloads (JDK 8u211 and later) 2.上传到服务器指定路径下并安装 切换到上传目录,然后执行以下命令 rpm -ivh jdk-8u221-linux-x64.rpm3. 设置环境变量并重载配置 # 设置环境变量 vim /etc/profile# 文件末尾添加…...

Node.js-path模块操作路径的基本使用

path模块提供了操作路径的功能,以下为常用的API。 path.resolve():拼接规范的绝对路径 const path require("path"); // 目录的绝对路径 // __dirname: D:\node\path const pathStr path.resolve(__dirname, "index.html"); // 拼…...

油猴脚本:验证码识别辅助器

脚本信息 描述:当鼠标放在验证码图片上时,显示弹窗并提供识别选项 实现逻辑 定义了一个isRectangle函数,用于判断图片是否符合验证码的特征。判断条件是:图片的宽高比大于1.5,宽度大于等于80且高度大于等于30&#…...

【力扣】24. 两两交换链表中的节点 <栈>

【力扣】24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:hea…...

C#中控件的invoke方法

https://www.exyb.cn/news/show-280348.html 在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”&#xff0…...

x光下危险物品/违禁物品目标识别的模型训练与推理代码

前言 1.安检在公共场合的重要性不言而喻,保障群众人身安全是其首要任务。在各种场合,安检都是不可或缺的环节。x光安检机作为安检的重要工具,尽管其具有人工监控判断成像的特性,但是其局限性也十分明显。 为了解决这一局限性为出…...

基于Matlab实现图像融合技术(附上多个仿真源码+数据)

图像融合技术是一种将多幅图像融合为一幅图像的方法,使得这幅融合图像包含原始图像的所有信息。近年来,图像融合技术已经广泛应用于图像分割、变换和裁剪等领域。本文将介绍如何使用Matlab实现图像融合技术。 实现步骤 首先,我们需要了解图…...

国家级与省级开发区设立超长时间段数据(1970-2022年)

在基于因果推断方法的政策评估备受经济学研究欢迎的今天,将一个重要政策作为外生冲击进行计量建模这一做法,是很多顶刊论文的“宠儿”,大家整理分享的国家级与省级开发区设立超长时间段数据正是其中的代表。 我国各级人民ZF均将开发区设立作为…...

数据结构 10-排序4 统计工龄 桶排序/计数排序(C语言)

给定公司名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数(≤),即员工总人数;随后给出个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递…...

SpringBoot复习:(16)TomcatStarter

直接在idea里运行SpringBoot程序时,内嵌的tomcat容器会调用TomcatStarter这个类的onStartup方法。TomcatStarter继承自ServletContainerInitializer 其onStartup方法会调用ServletContextInitializer(不是ServletContainerInitializer)的onStartup方法.…...

RISCV 5 RISC-V调用规则

RISCV 5 RISC-V调用规则 1 Register Convention1.1 Integer Register Convention1.2 Floating-point Register Convention 2. Procedure Calling Convention2.1 Integer Calling Convention2.2 Hardware Floating-point Calling Convention2.3 ILP32E Calling Convention2.4 Na…...

Spring Boot如何整合mybatis

文章目录 1. 相关配置和代码2. 整合原理2.1 springboot自动配置2.2 MybatisAutoConfiguration2.3 debug过程2.3.1 AutoConfiguredMapperScannerRegistrar2.3.2 MapperScannerConfigurer2.3.4 创建MapperFactoryBean2.3.5 创建MybatisAutoConfiguration2.3.6 创建sqlSessionFact…...

TypeScript中 interface 和 type 的区别

区别1 使用 interface 和 type 都是表示给定数据结构的常用方法。定义的方式略有不同。type 定义的时候有 “” 符号 interface User {name: string,age: number } type User {name: string,age: number }区别2 interface 可以多次声明同一接口。它们将合并在一起形成一个接…...

题解 | #B.Distance# 2023牛客暑期多校6

B.Distance 贪心(?) 题目大意 对于两个大小相同的多重集 A , B \mathbb{A},\mathbb{B} A,B ,可以选择其中任一元素 x x x 执行操作 x x 1 xx1 xx1 任意次数,最少的使得 A , B \mathbb{A},\mathbb{B} A,B 相同的操作次数记为 C ( A , B ) C(\m…...

为什么2026年还有企业在用Excel算工资?新工具提升HR工作效率

HR工资系统软件是帮助企业实现薪酬自动化核算、个税申报、社保公积金管理的数字化工具。现代工资系统通常集成考勤、绩效、人事等模块,支持复杂薪酬规则配置,将HR从每月耗时数天的手工算薪中解放出来,准确率提升至99.9%以上。 为什么2026年还…...

Ubuntu 20.04下Mathematica 12.3安装全攻略(附Jupyter集成技巧)

Ubuntu 20.04下Mathematica 12.3安装与Jupyter集成实战指南 在科研计算与符号数学领域,Mathematica始终保持着不可替代的地位。对于Ubuntu用户而言,安装特定历史版本(如12.3)往往比最新版本更具挑战性——官方默认提供最新版下载&…...

基于vue的高校学生党员发展管理系统[vue]-计算机毕业设计源码+LW文档

摘要:本文旨在设计并实现一个基于Vue框架的高校教师教学质量评价系统。该系统充分利用Vue的组件化、响应式等特性,结合后端技术构建一个高效、易用、交互性强的评价平台。系统涵盖系统用户管理、学生评价管理、教师自评管理以及统计分析管理等多个功能模…...

【仅限头部车企工控厂商内部流通】C++27静态反射安全合规包:覆盖MISRA C++:2023 Annex A.12及AUTOSAR C++14兼容性桥接层

第一章:C27 静态反射工业应用案例C27 将正式引入标准化的静态反射(Static Reflection)核心特性,基于 std::reflexpr 和反射元对象模型(ROM),使编译期类型结构可被直接查询与遍历,无需…...

一码一物的生成软件,为什么总能先把窜货和返利黑洞堵住?

一码一物的生成软件,为什么总能先把窜货和返利黑洞堵住?很多老板嘴上说生意难做,真把账摊开看,难的不是卖不出去,而是货卖到哪儿不知道、钱花给谁不清楚、促销有没有真拉动更说不明白。一码一物的生成软件,…...

低成本自动化:OpenClaw+Gemma-3-12b-it替代Zapier的5个场景

低成本自动化:OpenClawGemma-3-12b-it替代Zapier的5个场景 1. 为什么选择OpenClawGemma替代Zapier 作为一个长期使用Zapier的自动化爱好者,我最近开始尝试用OpenClawGemma-3-12b-it组合来替代部分Zapier工作流。这个转变源于两个痛点:一是Z…...

利用快马平台快速构建b站a8直播观看页面原型

利用快马平台快速构建B站A8直播观看页面原型 最近想尝试开发一个B站A8直播的观看页面原型,主要想验证一下直播相关的技术方案。作为一个前端开发者,我深知从头开始搭建这样一个页面需要花费不少时间,特别是在处理视频流、弹幕互动和响应式设…...

深度解析jqktrader:基于Python的同花顺自动化交易架构设计与实战应用

深度解析jqktrader:基于Python的同花顺自动化交易架构设计与实战应用 【免费下载链接】jqktrader 同花顺自动程序化交易 项目地址: https://gitcode.com/gh_mirrors/jq/jqktrader 在量化交易技术快速发展的今天,传统手动交易已无法满足高频、精准…...

如何用Dify API和GPT-4o高效识别图片?附避坑指南

如何用Dify API和GPT-4o高效识别图片?附避坑指南 在当今数字化时代,图片识别技术已成为众多应用场景中的核心需求。从电商平台的商品自动分类到社交媒体内容审核,再到医疗影像分析,高效准确的图片识别能力正变得越来越重要。Dify作…...

LeetCode138. 随机链表的复制(2024秋季每日一题 34)

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 ne…...