无公网IP,从公网SSH远程访问家中的树莓派

下午好,我的网工朋友。

今天说点好玩的啊。树莓派 (Raspberry Pi) 可以做事情很多,用作家庭网络中的服务器,是非常流行的一种。

因为它微小的占地面积和低功耗使其成为运行轻量级服务器的完美设备。

在这种情况下,你可以在树莓派上运行命令,且无需插入显示器、键盘、鼠标,也不必每次都将自己移动到树莓派所在的位置。

你可以通过从任何其他计算机、笔记本电脑、台式机甚至手机通过 SSH(安全外壳)登录你的 Raspberry Pi 来实现这一点。

具体怎么操作,接下来和你细说。

今日文章阅读福利:《 H3C交换机SSH配置方法 》

SSH的配置强大远超你的想象,但最基础的和交换机此类设备配置你肯定得会,今天就给你整个H3C交换机的SSH配置方法。

私信我,发送暗号“SSH”,限量获取资源。

开始之前,我假设你在 Pi 上运行 Raspbian 并已通过以太网或 WiFi 成功连接到网络。

重要的是,你的 Raspberry Pi 已连接到网络,否则你将无法通过 SSH 连接到它。

01 在 Raspberry Pi 上启用 SSH

步骤一。

SSH 在 Raspberry Pi 中默认处于禁用状态,因此你必须在全新安装 Raspbian 后打开 Pi 时启用它。

首先通过导航菜单转到 Raspberry Pi 配置窗口。

01 树莓派菜单,树莓派配置

现在,转到接口选项卡,启用 SSH 并重新启动你的 Pi。

02 在树莓派上启用 SSH

你还可以在不通过终端的情况下启用 SSH。只需输入命令 sudo raspi-config 然后转到高级选项以启用 SSH。

02 查找树莓派的IP地址

步骤2。

在大多数情况下,你的 Raspberry Pi 将被分配一个本地 IP 地址,看起来像 192.168.x.x 或 10.x.x.x。你可以使用各种 Linux 命令来查找 IP 地址。

我在这里使用的是旧的 ifconfig 命令,但你也可以使用 ip address。

ifconfig

01 树莓派网络配置

此命令显示所有活动网络适配器及其配置的列表。

第一个条目(eth0)显示 IP 地址为 192.168.9.36,这是有效的。

我使用以太网将我的 Raspberry Pi 连接到网络,因此它在 eth0 下。如果你在名为“wlan0”的条目下使用 WiFi 检查。

你还可以通过其他方式找到 IP 地址,例如检查路由器/调制解调器上的网络设备列表。

03 SSH 到你的树莓派

步骤3。

现在你已经启用了 SSH 并找到了你的 IP 地址,你可以继续从任何其他计算机通过 SSH 连接到你的 Raspberry Pi。你还需要树莓派的用户名和密码。

默认用户名和密码是:

  • 用户名:pi
  • 密码:raspberry

如果你更改了默认密码,请使用新密码而不是上述密码。理想情况下,你必须更改默认密码。

在过去,恶意软件感染了数千台使用默认用户名和密码的Raspberry Pi。

在要通过 SSH 连接到 Pi 的计算机上打开终端(在 Mac 和 Linux 上),然后键入以下命令。在 Windows 上,你可以使用像 Putty 这样的 SSH 客户端。

01 Windows用户安装SSH客户端

如果你使用的是windows,你需要在电脑上安装PuTTY这样的SSH客户端,或者百度安装。

下载完成之后,打开PuTTY,然后在session中的“Host Name”中输入树莓派的IP地址,然后点击”open”,即可连接树莓派了。

第一次你会看到一个警告,点击 Accept 按钮。

提示输入登录用户名: pi

输入密码(默认为:raspberry )

现在,输入密码并按回车键。

通过SSH登录成功。

02 Mac和Linux用户

在这里,使用你在上一步中找到的 IP 地址。

ssh pi@192.168.x.x

注意:确保你的 Raspberry Pi 和你用于通过 SSH 连接到 Raspberry Pi 的计算机连接到同一网络。

通过终端SSH。第一次你会看到一个警告,输入 yes 并按回车键。

输入密码(默认为‘raspberry’),现在,输入密码并按回车键。

通过SSH登录成功。

成功登录后,你将看到 Raspberry Pi 的终端。现在,你可以通过此终端远程(在当前网络内)在你的 Raspberry Pi 上执行任何命令,而无需物理访问你的 Raspberry Pi。

04 在任何地点访问家中的树莓派

步骤 4。

仅在家中同一局域网络访问树莓派有局限性,且一旦树莓派在家中的IP变化,如果有一天我们想在办公室的位置想访问树莓派怎么办?

那我们现在就解决。

01 安装 Cpolar

cpolar是一款内网穿透工具,可以将你的内网站点暴露到公网上,使所有人可以访问到你的站点。也可以TCP的方式将你的ssh端口映射到公网地址端口上。

cpolar一键安装脚本:(国内用户)

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或短链接安装方式:(国外用户)

curl -sL https://git.io/cpolar | sudo bash

查看cpolar版本信息

cpolar version

如果正常显示,则安装成功,如图:

02 cpolar进行token认证

如果你还没有cpolar账号,请去cpolar官网注册并登录后台获取认证token

cpolar authtoken xxxxxxxxxxxxxxxxxx

03 配置cpolar服务开机自启动

配置cpolar开机自启动

sudo systemctl enable cpolar

守护进程方式,启动cpolar

sudo systemctl start cpolar

查看cpolar守护进程状态

sudo systemctl status cpolar

如图,状态为active, 说明启动状态成功

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

04 查看映射到公网的隧道地址

我们登录cpolar后台–>状态,查看一下ssh隧道映射的公网地址:

05 ssh公网远程访问树莓派

ssh 用户名@http://1.tcp.vip.cpolar.cn -p XXXXX(X为cpolar生成的端口号,用户名替换为主机用户名)

如:

ssh pi@1.tcp.vip.cpolar.cn -p 20013

由于我们的本地22端口到了公网被映射到了20013端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号。

登录成功了!现在,你可以在家里,或者学校,或者办公室,手机4G终端网络任意地方访问你的树莓派!

06 修改树莓派默认密码(可选)

上文提到,默认密码是不安全的,尤其是你将树莓派暴露在公网地址之上时,建议修改密码。

passwd

系统提示输入当前密码,(默认为‘raspberry’) 然后重复输入新密码,即可。

此外,你还可以设置 SSH 密钥,这样你就不必每次通过 SSH 登录时都输入密码,但那是完全不同的主题。

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【栈迁移】强网杯2022 -- devnull

前言 题目不算难,多调一调就ok啦。但感觉我这个pay不是最优的,比较极限。 漏洞分析与利用 保护:没开 Canary 和 PIE 关键函数如下: 1)buf 的大小是32字节,而 fgets 了33字节,但是 fgets 本身…

灰度共生矩阵和直方图的联系与区别

灰度共生矩阵(GLCM)和直方图都是用于描述图像的统计特征,但它们的计算方法和提供的信息有所不同。 计算方法: 直方图:直方图是通过统计图像中每个灰度级别的像素数量来构建的。简单来说,直方图将图像的灰度…

机器学习---pySpark案例

1、统计PV,UV 1.if __name__ __main__: 2. conf SparkConf() 3. conf.setMaster("local") 4. conf.setAppName("test") 5. sc SparkContext(confconf) 6. 7. #pv 8. sc.textFile("./pvuv").map(lambda line:(l…

格力高管:领导力之谜,创新与团队合作的成功密码

格力高管团队一直以来都备受业界关注,他们的领导力和决策风格被认为是格力公司成功的关键因素。在商业舞台上,一支强大的领导团队往往是公司取得成功的不二法门。格力高管团队不仅仅是管理者,更是一支充满创新力和执行力的团队。 这支团队的…

浴霸市场研究:2023年市场现状及未来发展

据不完全统计,目前我国浴霸行业拥有品牌数量超过250个,市场竞争激烈,主要代表企业有奥普、美的、松桥、松下、澳柯玛、光芒、桑普、来斯奥、飞雕、万家乐等。从未来发展趋势来看,伴随着市场消费升级以及市场需求多元化发展&#x…

js优化技巧

一、使用箭头函数简化函数定义 function add(a,b){return a b; }//箭头函数 const add (a,b) > a b;二、使用解构赋值简化变量声明 const firstName person.firstName; const lastName person.lastName;//解构赋值 const {firstName,lastName} person三、使用模板字…

screen 常用命令

进入screen 123 screen -r 123 退出screen 123(不终止会话) screen -d 123 退出screen 123(终止会话) exit 重命名screen 123(不是id,id是不能改的) screen -S 123 -X sessionname new_n…

机器学习应用 | 使用 MATLAB 进行异常检测(上)

异常检测任务,指的是检测偏离期望行为的事件或模式,可以是简单地检测数值型数据中,是否存在远超出正常取值范围的离群值,也可以是借助相对复杂的机器学习算法识别数据中隐藏的异常模式。 在不同行业中,异常检测的典型…

EasyX图形化学习

1.EasyX是什么&#xff1f; 是基于Windows的图形编程&#xff0c;给用户提供函数接口&#xff0c;最终函数调用会由Windows的API实现。 注&#xff1a;EasyX只适配 c 。 2.头文件&#xff1a; <easyx.h>---只包含最新的函数 <graphics.h>---包含<easyx.h&g…

如何解决ajax浏览器缓存

在使用 Ajax 进行异步请求时&#xff0c;由于浏览器的缓存机制&#xff0c;可能会导致请求结果不符合预期或者无法获取最新的数据。以下是解决 Ajax 中浏览器缓存问题的几种常见方法&#xff1a; 添加时间戳或随机数&#xff1a;可以在每次请求时&#xff0c;给 URL 后添加一个…

集成学习算法随机森林发生过拟合时,如何调整超参数?

当随机森林算法发生过拟合时&#xff0c;可以通过调整以下超参数来解决问题&#xff1a; 1 n_estimators&#xff08;树的数量&#xff09;&#xff1a;增加树的数量可以降低模型的过拟合程度。通过增加树的数量&#xff0c;可以减少每棵树对最终预测结果的影响&#xff0c;从…

动态内存管理(扫盲式讲解)

前言&#xff1a;学好数据结构的三大法宝&#xff1a;指针、结构体、动态内存管理&#xff0c;指针前面讲的已经很细了&#xff0c;大家看完了基本上指针方法是没啥问题的 1 为什么要有动态内存的开辟&#xff1f; 因为动态内存的开辟是在堆区里面的&#xff0c;可以释放&…

Qt之基于QMediaPlayer的音视频播放器(支持常见音视频格式)

Qt自带了一个Media Player的例子,如下图所示: 但是运行这个例子机会发现,连最基本的MP4格式视频都播放不了。因为QMediaPlayer是个壳(也可以叫框架),依赖本地解码器,视频这块默认基本上就播放个MP4,甚至连MP4都不能播放,如果要支持其他格式需要下载k-lite或者LAVFilte…

回归模型中多重共线性问题——逐步回归法、方差膨胀因子(VIF)、因子分析【含代码与解释】

特征之间的多重共线性&#xff0c;是指在回归模型中&#xff0c;自变量之间存在高度的线性相关性&#xff0c;导致回归系数的估计不准确&#xff0c;不稳定&#xff0c;甚至不可信的现象。多重共线性的存在会影响模型的解释能力和预测能力&#xff0c;增加模型的复杂度和不确定…

机器学习---环境准备

一、pySpark环境准备 1、window配置python环境变量 window安装python&#xff0c;配置python环境变量。安装python后,在环境变量path中加入安装的路径&#xff0c;cmd中输入python&#xff0c;检验python是否安装成功。 注意&#xff1a;如果使用的是anaconda安装的python环境…

MySql MVCC 详解

注意以下操作都是以InnoDB引擎为操作基准。 一&#xff0c;前置知识准备 1&#xff0c;MVCC简介 MVCC 是多版本并发控制&#xff08;Multiversion Concurrency Control&#xff09;的缩写。它是一种数据库事务管理技术&#xff0c;用于解决并发访问数据库的问题。MVCC 通过创…

Matlab使用基础

基本命令 clear all %清除Workspace中的所有变量 clc %清除Command Window中的所有命令 %和%%是注释基础函数 abs()%取绝对值 char(65)%将ASCII码数值变成字符 num2str(65)%将里面的内容变成字符串 length()%字符串长度&#xff0c;不把/0的长度计算进去 矩阵 A[1 2 3;4 5 …

C语言-指针运算

1 1 2&#xff1f; 给一个指针加1表示要让指针指向下一个变量 int a[10]; int *p a; *(p 1) —>a[1]如果指针不是指向一片连续分配的空间&#xff0c;如数组&#xff0c;则这种运算没有意义 指针运算 这些算术运算可以对指针做&#xff1a;给指针加、减一个整数&…

python循环遍历指定路径下所有文件夹和文件

可以使用Python的内置库os和os.path来遍历文件夹。以下是一个简单的示例&#xff0c;该示例遍历给定目录下的所有文件和文件夹&#xff0c;并打印出文件类型和名称。 import osdef print_files(path):for root, dirs, files in os.walk(path):for file in files:print(os.path…

MinIO使用

MinIO基于Apache License v2.0开源协议的对象存储服务&#xff0c;可以做为云存储的解决方案用来保存海量的图片&#xff0c;视频&#xff0c;文档。由于采用Golang实现&#xff0c;服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单&#xff0c;基本是复制可执行程序…