《內網穿透》無需公網IP,公網SSH遠程訪問家中的樹莓派

文章目錄

    • 前言
  • 如何通過 SSH 連接到樹莓派
  • 步驟1. 在 Raspberry Pi 上啟用 SSH
  • 步驟2. 查找樹莓派的 IP 地址
  • 步驟3. SSH 到你的樹莓派
  • 步驟 4. 在任何地點訪問家中的樹莓派
    • 4.1 安裝 Cpolar內網穿透
    • 4.2 cpolar進行token認證
    • 4.3 配置cpolar服務開機自啟動
    • 4.4 查看映射到公網的隧道地址
    • 4.5 ssh公網遠程訪問樹莓派
    • 4.6 修改樹莓派默認密碼(可選)
  • 步驟 5. 為SSH遠程樹莓派配置固定公網地址
    • 命令行使用舉例:
    • 修改cpolar配置文件
    • 總結:

前言

本篇文章主要講解樹莓派+cpolar組合的作用,可以實現:

  • 如何在 Raspberry Pi 中啟用 SSH
  • 如何通過 SSH 連接到 Raspberry Pi設備
  • 如何遠程在任何地點訪問家中的樹莓派

在使用樹莓派 (Raspberry Pi) 可以做的所有事情中,將其用作為家庭網絡中的服務器非常流行。微小的占地面積和低功耗使其成為運行輕量級服務器的完美設備。

在這種情況下,您應該可以做的一件事是在 樹莓派 (Raspberry Pi) 上運行命令,而無需插入顯示器、鍵盤、鼠標,也不必每次都將自己移動到樹莓派(Raspberry Pi) 所在的位置。

您可以通過從任何其他計算機、筆記本電腦、臺式機甚至手機通過 SSH(安全外殼)登錄您的 Raspberry Pi 來實現這一點。讓我告訴你怎么做。

如何通過 SSH 連接到樹莓派

20221117163606

我假設您在 Pi 上運行 Raspbian 并已通過以太網或 WiFi 成功連接到網絡。重要的是,您的 Raspberry Pi 已連接到網絡,否則您將無法通過 SSH 連接到它(抱歉我說得太明顯了)。

步驟1. 在 Raspberry Pi 上啟用 SSH

SSH 在 Raspberry Pi 中默認處于禁用狀態,因此您必須在全新安裝 Raspbian 后打開 Pi 時啟用它。

首先通過導航菜單轉到 Raspberry Pi 配置窗口。

  • 樹莓派菜單,樹莓派配置

20221117163613

現在,轉到接口選項卡,啟用 SSH 并重新啟動您的 Pi。

  • 在樹莓派上啟用 SSH

20221117163625

您還可以在不通過終端的情況下啟用 SSH。只需輸入命令 sudo raspi-config 然后轉到高級選項以啟用 SSH。

步驟2. 查找樹莓派的 IP 地址

在大多數情況下,您的 Raspberry Pi 將被分配一個本地 IP 地址,看起來像 192.168.x.x 或 10.x.x.x。您可以使用各種 Linux 命令來查找 IP 地址。

我在這里使用的是舊的 ifconfig 命令,但您也可以使用 ip address。

ifconfig

20221117163636

  • 樹莓派網絡配置

此命令顯示所有活動網絡適配器及其配置的列表。第一個條目(eth0)顯示 IP 地址為 192.168.9.36,這是有效的。我使用以太網將我的 Raspberry Pi 連接到網絡,因此它在 eth0 下。如果您在名為“wlan0”的條目下使用 WiFi 檢查。

您還可以通過其他方式找到 IP 地址,例如檢查路由器/調制解調器上的網絡設備列表。

步驟3. SSH 到你的樹莓派

現在您已經啟用了 SSH 并找到了您的 IP 地址,您可以繼續從任何其他計算機通過 SSH 連接到您的 Raspberry Pi。您還需要樹莓派的用戶名和密碼。

默認用戶名和密碼是:

  • 用戶名:pi
  • 密碼:raspberry

如果您更改了默認密碼,請使用新密碼而不是上述密碼。理想情況下,您必須更改默認密碼。在過去,惡意軟件感染了數千臺使用默認用戶名和密碼的Raspberry Pi。

在要通過 SSH 連接到 Pi 的計算機上打開終端(在 Mac 和 Linux 上),然后鍵入以下命令。在 Windows 上,您可以使用像 Putty 這樣的 SSH 客戶端。

Windows用戶安裝SSH客戶端:

如果您使用的是windows,你需要在電腦上安裝PuTTY這樣的SSH客戶端,或者百度安裝。

下載完成之后,打開PuTTY,然后在session中的“Host Name”中輸入樹莓派的IP地址,然后點擊"open",即可連接樹莓派了。

20221117163716

第一次你會看到一個警告,點擊 Accept 按鈕。

20221117163722

提示輸入登錄用戶名: pi

輸入密碼(默認為:raspberry )

現在,輸入密碼并按回車鍵。

20221117163732

通過SSH登錄成功。

Mac和Linux用戶:

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

ssh pi@192.168.x.x

注意:確保您的 Raspberry Pi 和您用于通過 SSH 連接到 Raspberry Pi 的計算機連接到同一網絡。

20221117163740

通過終端SSH

第一次你會看到一個警告,輸入 yes 并按回車鍵。

20221117163746

輸入密碼(默認為‘raspberry’)

現在,輸入密碼并按回車鍵。

20221117163755

通過SSH登錄成功

成功登錄后,您將看到 Raspberry Pi 的終端。現在,您可以通過此終端遠程(在當前網絡內)在您的 Raspberry Pi 上執行任何命令,而無需物理訪問您的 Raspberry Pi。

步驟 4. 在任何地點訪問家中的樹莓派

僅在家中同一局域網絡訪問樹莓派有局限性,且一旦樹莓派在家中的IP變化,如果有一天我們想在辦公室的位置想訪問樹莓派怎么辦?那我們現在就解決。

4.1 安裝 Cpolar內網穿透

cpolar是一款內網穿透工具,可以將您的內網站點暴露到公網上,使所有人可以訪問到你的站點。也可以TCP的方式將您的ssh端口映射到公網地址端口上。

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

  • 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

如果正常顯示,則安裝成功,如圖:

20221117163818

4.2 cpolar進行token認證

如果您還沒有cpolar賬號,請去cpolar官網注冊并登錄后臺獲取認證token

cpolar authtoken xxxxxxxxxxxxxxxxxx

4.3 配置cpolar服務開機自啟動

  • 配置cpolar開機自啟動
sudo systemctl enable cpolar
  • 守護進程方式,啟動cpolar
sudo systemctl start cpolar
  • 查看cpolar守護進程狀態
sudo systemctl status cpolar

20221117163830

如圖,狀態為active, 說明啟動狀態成功

cpolar會默認安裝兩個樣例隧道,一個是Website隧道指向http 8080端口,一個是ssh隧道,指向tcp 22端口。

4.4 查看映射到公網的隧道地址

我們登錄cpolar后臺–>狀態,查看一下ssh隧道映射的公網地址:

20221117163837

4.5 ssh公網遠程訪問樹莓派

ssh 用戶名@1.tcp.vip.cpolar.cn -p XXXXX(X為cpolar生成的端口號,用戶名替換為主機用戶名)

如:

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

由于我們的本地22端口到了公網被映射到了20013端口,所以,ssh命令需要加-p參數,后面加公網隧道端口號

20221117163844

登錄成功了!現在,您可以在家里,或者學校,或者辦公室,手機4G終端網絡任意地方訪問您的樹莓派!

4.6 修改樹莓派默認密碼(可選)

上文提到,默認密碼是不安全的,尤其是您將樹莓派暴露在公網地址之上時,建議修改密碼

passwd

20221117163851

系統提示輸入當前密碼,(默認為‘raspberry’) 然后重復輸入新密碼,即可。

此外,您還可以設置 SSH 密鑰,這樣您就不必每次通過 SSH 登錄時都輸入密碼,但那是完全不同的主題。

步驟 5. 為SSH遠程樹莓派配置固定公網地址

以上教程,我們使用了免費的cpolar創建安全隧道實現公網ssh遠程樹莓派,但是免費隧道所生成的公網地址是臨時隨機的,會在24小時內隨機變化,為了方便長期遠程,我們接下來將這個公網地址配置成固定的,同時提高帶寬。

首先,登錄您的cpolar后臺,在cpolar后臺->預留-> 保留TCP地址位置,添加一條記錄。

20221117164019

地區選擇China VIP,和填寫描述,然后點擊保留按鈕。

系統會分配給您一個該地區的固定TCP地址,可供長期穩定使用。

20221117164025

在調用 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

20221117164033

注意:配置文件中的remote_addr參數為下劃線,與命令行中使用的-remote-addr中劃線不同。

修改完保存退出。

  • 測試配置文件,我們在前臺單獨啟動隧道文件,測試一下
cpolar start ssh

20221117164040

如上圖,已經主明已經啟動了固定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的公網端口即可。

總結:

現在,我們每次遠程連接樹莓派時,不必每次修改遠程ssh連接地址了,效率進一步提升。

轉載自cpolar極點云的文章:無公網IP,從公網SSH遠程訪問家中的樹莓派

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40376.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40376.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JavaEE基礎學習打卡02】是時候了解Java EE了!

目錄 前言一、為什么要學習Java EE二、Java EE規范介紹1.什么是規范?2.什么是Java EE規范?3.Java EE版本 三、Java EE應用程序模型1.模型前置說明2.模型具體說明 總結 前言 📜 本系列教程適用于 Java Web 初學者、愛好者,小白白。…

java接口導出csv

1、背景介紹 項目中需要導出數據質檢結果,本來使用Excel,但是質檢結果數據行數過多,導致用hutool報錯,因此轉為導出csv格式數據。 2、參考文檔 https://blog.csdn.net/ityqing/article/details/127879556 工程環境:…

Redis-分布式鎖!

分布式鎖,顧名思義,分布式鎖就是分布式場景下的鎖,比如多臺不同機器上的進程,去競爭同一項資源,就是分布式鎖。 分布式鎖特性 互斥性:鎖的目的是獲取資源的使用權,所以只讓一個競爭者持有鎖,這…

PyTorch: clamp函數與梯度的關系

本文主要以下探究這一點:梯度反向傳播過程中,測試強行修改后的預測結果是否還會傳遞loss? clamp應用場景:在深度學習計算損失函數的過程中,會有這樣一個問題,如果Label是1.0,而預測結果是0.0&a…

【算法】排序+雙指針——leetcode三數之和、四數之和

三數之和 (1)排序雙指針 算法思路: 和之前的兩數之和類似,我們對暴力枚舉進行了一些優化,利用了排序雙指針的思路: 我們先排序,然后固定?個數 a ,接著我們就可以在這個數后面的區間…

Mybatis Plus Interceptor

Mybatis Plus Interceptor 1 獲取表名2 獲取SQL 1 獲取表名 Component public class MybatisInterceptor implements Interceptor {private static final List<String> EXCLUDE_TABLE new ArrayList<>();static {EXCLUDE_TABLE.add("test");}private s…

OpenCV實例(九)基于深度學習的運動目標檢測(一)YOLO運動目標檢測算法

基于深度學習的運動目標檢測&#xff08;一&#xff09; 1.YOLO算法檢測流程2.YOLO算法網絡架構3.網絡訓練模型3.1 訓練策略3.2 代價函數的設定 2012年&#xff0c;隨著深度學習技術的不斷突破&#xff0c;開始興起基于深度學習的目標檢測算法的研究浪潮。 2014年&#xff0c;…

電腦突然黑屏的解決辦法

記錄一次電腦使用問題 問題描述 基本情況&#xff1a;雷神游戲筆記本 windows10操作系統 64位 使用時間 4年 日期&#xff1a;2023年8月11日 當時 電腦充著電 打開了兩個瀏覽器&#xff1a;edge[頁面加載5個左右]&#xff0c;火狐[頁面加載1個左右] 兩個文件夾 一個百度網盤…

Davinci 報表工具 0.3.0-rc release 文本框模糊查詢不生效問題

背景: 在使用過程中發現davinci 的控制器配置中, 取值配置的對應關系設置 包含 或 不包含時 不生效, 不能實現模糊匹配效果, 只能精確查詢; 問題分析: 通過跟蹤接口及相應代碼, 發現在sql 拼接時沒有對 like 和 not like 類型的值兩側添加百分號, 導致模糊查詢失敗 調用過程…

CentOS系統環境搭建(七)——Centos7安裝MySQL

centos系統環境搭建專欄&#x1f517;點擊跳轉 坦誠地說&#xff0c;本文中百分之九十的內容都來自于該文章&#x1f517;Linux&#xff1a;CentOS7安裝MySQL8&#xff08;詳&#xff09;&#xff0c;十分佩服大佬文章結構合理&#xff0c;文筆清晰&#xff0c;我曾經在這篇文章…

Kotlin 使用 View Binding

解決的問題&#xff1a; 《第一行代碼——Android》第三版 郭霖 P277 視圖綁定的問題 描述&#xff1a; kotlin-android-extensions 插件已經棄用 butter knife 已經棄用 解決辦法 推薦使用 View Binding 來代替 findViewById 使用方法 1、配置 build.gradle 2、在act…

踩坑---uni-app中@input 事件不生效

在開發的時候遇到這么一種情況&#xff0c;我們希望input輸入框的值是范圍是0-100或者保留兩位小數之類的&#xff0c;當你輸入時處理后的結果卻不生效&#xff0c;但是試過很多辦法發現都實現不了&#xff0c;最后是按照以下方法解決的,問題原因是uni-app會延時,導致輸入的結果…

Go語言的主要優勢

Go語言的主要優勢包括: 1. 簡潔和易學 Go語法簡單明了,沒有太多晦澀難懂的概念,上手容易,適合快速開發。 2. 強大的并發支持 利用goroutine和channel,可以非常方便地編寫高效的并發程序。 3. 執行性能好 Go編譯成機器碼,執行性能接近C/C,比解釋型語言更高效。 4. 內存管…

絕對值函數的可導性

絕對值函數的可導性 聲明&#xff1a;下面截圖來自《考研數學常考題型解題方法技巧歸納》

利用Figlet工具創建酷炫Linux Centos8服務器-登錄歡迎界面-SHELL自動化編譯安裝代碼

因為我們需要生成需要的特定字符,所以需要在當前服務器中安裝Figlet,默認沒有安裝包的,其實如果我們也只要在一臺環境中安裝,然后需要什么字符只要復制到需要的服務器中,并不需要所有都安裝。同樣的,我們也可以利用此生成的字符用到腳本運行的開始起頭部分,用ECHO分行標…

學習筆記十八:污點、容忍度

污點、容忍度 污點、容忍度管理節點污點把k8snode2當成是生產環境專用的&#xff0c;其他node是測試的給k8snode1也打上污點 污點、容忍度 給了節點選則的主動權&#xff0c;我們給節點打一個污點&#xff0c;不容忍的pod就運行不上來&#xff0c;污點就是定義在節點上的鍵值屬…

使用python讀Excel文件并寫入另一個xls模版

效果如下&#xff1a; 原文件內容 轉化后的內容 大致代碼如下&#xff1a; 1. load_it.py #!/usr/bin/env python import re from datetime import datetime from io import BytesIO from pathlib import Path from typing import List, Unionfrom fastapi import HTTPExcep…

睿趣科技:抖音開網店現在做還來得及嗎

隨著社交媒體的迅速發展&#xff0c;抖音作為一款短視頻平臺&#xff0c;已經在年輕人中間取得了巨大的成功。而近年來&#xff0c;越來越多的人開始考慮在抖音上開設網店&#xff0c;以迎合這一潮流。那么&#xff0c;抖音開網店現在還來得及嗎? 首先&#xff0c;要明確的是&…

一篇文章教會你搭建私人kindle圖書館,并內網穿透實現公網訪問

搭建私人kindle圖書館&#xff0c;并內網穿透實現公網訪問 在電子書風靡的時期&#xff0c;大部分人都購買了一本電子書&#xff0c;雖然這本電子書更多的時候是被擱置在儲物架上吃灰&#xff0c;或者成為蓋泡面的神器&#xff0c;但當亞馬遜發布消息將放棄電子書在中國的服務…

Kubernetes部署Wordpress時碰到的兩個問題解決

文章目錄 小結問題1解決問題2解決參考 小結 在使用Kubernetes部署Wordpress時返回了兩個問題: Function not implemented: AH00141: Could not initialize random number generator chown: changing ownership of .: Operation not permitted 對這個兩個返回錯誤&#xff0…