Linux公网通信(一)神器autossh(树莓派跨局域网远程监控和远程登录)
一、基本概念
IP:找到接入网络的某台主机。
端口号:找到主机上的某一个网络进程。
二、问题描述
一般位于不同局域网的两台电脑是不能直接进行通信的(ping通),它们分配到的都是私网IP,只在当前网络具有特异性,诸如192.168.x.x等IP,它们需要借助公网IP通信。
三、如何借助公网IP进行不同局域网之间通信
3.1方案
第一种:使用SSH反向隧道(本文介绍)
第二种:使用frp
第三种:使用花生壳
3.2简述
以上都是内网穿透的方案。内网主机要找到公网服务器十分简单,反过来的话需要进行内网穿透,使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。
3.3SSH反向隧道原理
主机A建立与公网服务器B之间的联系,然后主机C找到服务器B便能借助服务器B建立与主机A的联系。
四、安装autossh
这里使用树莓派和公网服务器Ubuntu系统(做实验)
sudo apt install autossh
五、autossh的使用
5.1公网服务器配置
vi /etc/ssh/sshd_config
修改以下内容
GatewayPorts yes
重启服务
sudo service sshd restart
说明:不修改这个的话,公网服务器是使用127.0.0.1这个IP进行监听。
5.2树莓派配置免密码登录
5.2.1生成秘钥
ssh-keygen
一路回车
5.2.2将秘钥发给公网服务器
ssh-copy-id -i /home/pi/.ssh/id_rsa.pub 用户名@公网IP
输入密码
5.2.3验证
ssh 用户名@公网IP
5.3autossh常用参数介绍
-f 后台执行ssh指令
-C 允许压缩数据
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-M 指定端口用于检测是否断开连接
5.4开启autossh
autossh -M 4000 -fNR 8080:localhost:8080 -fNR 9000:localhost:22 用户名@公网IP
服务器4000端口用于监听是否断开。
服务器8080端口“绑定”树莓派8080端口。
服务器9000端口“”绑定“”树莓派22端口。
六、应用
6.1使用公网IP登录树莓派
登录密码使用树莓派密码
6.2通过公网IP获取树莓派摄像头推流
6.2.1开启mjpg推流
6.2.2浏览器查看
http://公网IP:8080/
Linux公网通信(一)神器autossh(树莓派跨局域网远程监控和远程登录)相关推荐
- (超高性价比)有了PLC上网神器,PLC远程监视,PLC远程监控,构建工业物联网很简单
您还在用VPN方案的产品吗,智能时代无需VPN,只需一个智能网关,就可以完成很多有趣的功能. 嵌入式版本通讯协议支持: MODBUS-RTU(施耐德全系列PLC.仪表) MODBUS-TCP (施耐 ...
- 利用SSH 反向代理 ,实现跨局域网连接家里的linux 主机 (树莓派)
最近我买了一台树莓派主机 ,并且装上了官方系统(Raspbian ).打算用它来跑跑脚本之类的.但是遇到一个问题,我在外的时候,怎么远程连接家里的在局域网中的主机呢? 我已经成功的解决了这个问题,期间 ...
- 跨局域网远程连接神器——frp内网穿透
跨局域网远程连接神器--frp内网穿透 放寒假回家想用服务器跑代码.想用校园网下文章.甚至还想用服务器打两把游戏.这该怎么办?有的大佬会想,可以在家买一个服务器嘛!如果是这样就打扰了...对于我这 ...
- 28个Unix/Linux的命令行神器 | 酷壳 - CoolShell.cn
28个Unix/Linux的命令行神器 | 酷壳 - CoolShell.cn 28个Unix/Linux的命令行神器 | 酷壳 - CoolShell.cn slurm 查看网络流量的一个工具 官方 ...
- Linux有问必答:如何安装autossh
Linux有问必答:如何安装autossh 提问: 我打算在linux上安装autossh,我应该怎么做呢? autossh 是一款开源工具,可以帮助管理SSH会话.自动重连和停止转发流量.autos ...
- linux进程同步/通信,线程同步/通信的区别
大家常问的是线程的同步和进程的通信,较少问线程通信和进程同步的,那它们有什么区别呢?其实它们没啥区别,线程同步和线程通信其实就是一回事,进程通信和进程同步也是一回事,不要被这些搞混了. linux线程 ...
- Linux CAN通信
Linux CAN通信 实现了Linux下的CAN通信--初始化,发两个送和接收(采用队列形式),使用两个线程,还有一个超时响应目前未写.接收部分使用select实现. #ifndef _CAN_H_ ...
- Linux进程通信的四种方式——共享内存、信号量、无名管道、消息队列|实验、代码、分析、总结
Linux进程通信的四种方式--共享内存.信号量.无名管道.消息队列|实验.代码.分析.总结 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须 ...
- linux进程管道通信缺点,Linux进程通信(IPC)的方式详解
前言:Linux进程通信的方式 什么是进程通信?进程通信是指进程之间交换信息 进程通信方式共有6种: 管道(pipe),包括流管道(s_pipe)和有名管道(named pipe) 信号(signal ...
最新文章
- mysql表导出和导入命令行_MySQL命令行导出导入数据库和数据表-Go语言中文社区...
- 【干货】JDK动态代理的实现原理以及如何手写一个JDK动态代理
- 05 Python 并发编程(管道,事件,信号量,进程池)
- document引用图片的src属性能干嘛_如何实现图片懒加载
- 亚信安全火力全开猎捕“坏兔子”,全歼详解
- 征战蓝桥 —— 2013年第四届 —— C/C++A组第6题——逆波兰表达式
- 关闭本机的代理服务(Proxy)
- 不要以为写写代码就是计算机科学
- 免费中文Python电子书 转载
- GeoDa空间自相关分析和计量模型的权重问题
- Linux【操作系统】
- 文件搜素神器-everthing 快
- 【Java EE 学习第21天 使用易宝支付接口实现java网上支付功能】
- gromacs 安装_gromacs cpu版安装
- 【数据分享】2022年11月华东地区POI数据分享(上海、江苏、浙江、安徽)
- 通过瑞利判据对显微镜物镜进行分辨率研究
- QRCode插件的使用(二维码识别与生成)
- R语言跳跃序列c(),R语言时间序列模型
- 养殖户怎么利用生猪期货套期保值(生猪企业套期保值的一些思路)
- 奇妙而又有趣的密码学