无公网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 本身…

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

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

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

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

EasyX图形化学习

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

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

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

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

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

机器学习---环境准备

一、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 通过创…

GUI的简单概述和基本使用

GUI的概念 1&#xff0c;到目前为止&#xff0c;我们编写的都是控制输入的程序&#xff0c;操作使用非常不直观&#xff0c;采取一直方式让效果呈现在窗口上。 2&#xff0c;GUI及图形界面指采用图像方式显示的用户界面&#xff0c;与早期计算机的命令行界面相比&#xff0c;…

【SpringCloud】通过Redis手动更新Ribbon缓存来解决Eureka微服务架构中服务下线感知的问题

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上&#xff0c;通过压测的结果可以看出&#xff0c;使用DiscoveryManager下线服务…

程序员如何开发高级python爬虫?

之前我有写过一篇“高级爬虫和低级爬虫的区别”的文章&#xff0c;我们知道它并非爬虫领域中专用术语。只是根据爬虫的复杂性来断定是否是高级爬虫。以我个人理解&#xff1a;高级爬虫是可能具有更复杂的功能和更高的灵活性的爬虫。下面我们围绕高级爬虫来了解下有趣的事情。 低…

python可视化plotly 图例(legend)设置大全,值得收藏!

文章目录 一、图例(legend)二、update\_layout(legend{}) 相关参数及示例关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python…

多向通信----多人聊天

package 多人聊天; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; publ…

K8s中安装calico一直无法启动成功

问题描述 #k8s版本为v1.20.9查看对应日志 #calico-node-xxx 对应pod名称 kubectl logs calico-node-xxxx -n kube-system #没有错误但是一直启动不起来应该是版本不匹配问题解决方案 删除 calico重新安装对应版本删除podskubectl delete -f calico.yaml删除文件 rm -f calico.…

【NLP】如何管理大型语言模型 (LLM)

什么是LLM编排&#xff1f; LLM 编排是管理和控制大型语言模型 (LLM)的过程&#xff0c;以优化其性能和有效性。这包括以下任务&#xff1a; 提示LLM&#xff1a;生成有效的提示&#xff0c;为LLMs提供适当的背景和信息以产生所需的输出。链接LLM&#xff1a; 结合多个LLM的输…

SpringBoot读取properties文字乱码问题及相关问题

问题&#xff1a;在idea的编辑器中properties文件一般用UTF-8编码&#xff0c;SpringBoot2读取解码方式默认不是UTF-8&#xff0c;当值出现中文时SpringBoot读取时出现了乱码。 解决方式1&#xff1a;在SpringBoot框架层面解决&#xff0c;在配置类注解上添加encoding属性值为…

5G - NR物理层解决方案支持6G非地面网络中的高移动性

文章目录 非地面网络场景链路仿真参数实验仿真结果 非地面网络场景 链路仿真参数 实验仿真结果 Figure 5 && Figure 6&#xff1a;不同信噪比下的BER和吞吐量 变量 SISO 2x2MIMO 2x4MIMO 2x8MIMOReyleigh衰落、Rician衰落、多径TDL-A(NLOS) 、TDL-E(LOS)(a)QPSK (b)16…

[足式机器人]Part4 南科大高等机器人控制课 Ch02 Rigid Body Configuration and Velocity

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;CLEAR_LAB 笔者带更新-运动学 课程主讲教师&#xff1a; Prof. Wei Zhang 南科大高等机器人控制课 Ch02 Rigid Body Configuration and Velocity 1. Rigid Body Configuration1.1 Special Orthogonal Group1.2 Use of Ro…

Centos7安装宝塔面板8.0.3并实现公网远程登录宝塔面板【内网穿透】

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔&#xff0c;内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具&#xff0c;适合新手&#xff0c;简单好用。当我们在家里/公司搭建了宝塔&#xff0c;没有公网IP&#xff0c;但是想要在外也可以访问内…

组合总和II(回溯、去重)

40. 组合总和 II - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a…