问题

想要在外网登录家中局域网的树莓派,家里的网络外网ip的会变,而且不适合对公网暴露端口。调研了一番,发现可以使用云主机当跳板,结合ssh隧道实现远程登录到局域网中的树莓派

关于ssh隧道的原理可以参考:

SSH原理与运用(二):远程操作与端口转发中的十、远程端口转发

解决方案

准备工作

  1. 云主机一台(cloud)
  2. 树莓派一个(rpi)
  3. rpi能ssh到cloud上

配置方法

1.在树莓派上配置ssh免密登录,~/.ssh/config配置可参考:

Host cloud
Hostname 1.1.1.1 #云主机ip
User root
Port 22
IdentityFile ~/.ssh/id_rsa #密钥 https://www.jianshu.com/p/e22058f6ecbf
ServerAliveInterval 120 #防止超时断开连接 https://www.awaimai.com/2523.html

2.在树莓派上运行如下命令,并保持进程运行。目前是使用tmux扔到后台跑,后面考虑使用更方便的方法。

ssh -R 8022:localhost:22 cloud

3.此时在云主机上就可以登录到局域网中的树莓派

ssh -p 8022 user@rpi

【笔记】云主机当跳板,ssh tunnel远程登录树莓派的更多相关文章

  1. 使用SSH客户端远程登录Linux主机

    使用SSH客户端远程登录Linux主机(可替代samba.ftp服务) . Linux系统起初就是为多用户而产生的,可以允许多个用户同时登录linux主机各自进行操作,如图1所示: 图1 SSH(Se ...

  2. 天翼云主机某一IP多次登录失败导致IP被锁无法登录,天翼云主机莫名其妙无法远程登陆

    情况说明: 直接使用该IP通过ssh远程连接失败,但是先通过ssh远程连接其他主机上,然后在这个主机上再ssh刚才连接失败的主机,就能登陆上. 说明,root用户不是被锁了, 而是远程登陆IP被锁了 ...

  3. ubuntu开启SSH服务远程登录

    http://blog.csdn.net/jackghq/article/details/54974141 ubuntu开启SSH服务远程登录

  4. 使用putty进行ssh tunnel远程内网机器

    通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网 ...

  5. frp服务利用云主机docker服务实现Windows远程连接

    1.云主机配置 1.docker部署 # 创建文件 mkdir -p /root/docker/frp && touch /root/docker/frp/frps.ini # 配置文 ...

  6. navicat链接阿里云mysql报80070007: SSH Tunnel: Server does not support diffie-hellman-group1-sha1 for keyexchange

      http://www.jianshu.com/p/200572ed066c navicat 链接数据库 使用navicat 的ssh通道连接数据库回遇到权限问题 错误代码如下: 80070007: ...

  7. 《linux就该这么学》课堂笔记13 网络会话、ssh、远程会话

    1.常见的网卡绑定驱动有三种模式—mode0.mode1和mode6 mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术. ...

  8. 菜鸟学Linux命令:ssh命令 远程登录

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

  9. ssh命令远程登录

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

随机推荐

  1. Awkward Response AtCoder - 2656 ( 二分+交互题)

    Problem Statement This is an interactive task. Snuke has a favorite positive integer, N. You can ask ...

  2. FPDF_CHAR_INFO

    typedef struct { FX_WCHAR m_Unicode; FX_WCHAR m_Charcode; FX_INT32 m_Flag; FX_FLOAT m_FontSize; FX_F ...

  3. buuctf@rip

    exp: from pwn import * buf_start = 0x00007FFDBD754931 buf_end = 0x00007FFDBD754948 func_fun_addr= 0x ...

  4. vue 搜索关键词 变颜色

    <a class="text"> <span>{{item.name.slice(0,item.name.toLowerCase().indexOf(inp ...

  5. layui 获取iframe层的window

    success: function (layero, index) { var iframeWin = $("div.layui-layer-content > iframe" ...

  6. 图片转base64使用JSON传输

    要传输的JSON格式: { "orderId":"0001", "cargoReceiptNo":"iVBORw0KGgoAAAA ...

  7. js能否上传文件夹

    文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...

  8. 【Leetcode】对称二叉树

    递归法 执行用时 :12 ms, 在所有 C++ 提交中击败了43.44%的用户 内存消耗 :14.6 MB, 在所有 C++ 提交中击败了95.56%的用户 /** * Definition for ...

  9. 编译依赖ndt_gpu库的包,遇到Eigen报错

    背景: 使用NDT建图,帧率比较慢,打算使用gpu加速计算. ndt_gpu是一个使用gpu加速ndt计算的库,首先在工作空间编译这个包. 然后在ndtMap包中链接这个库,其CMakelists.t ...

  10. Mybatis学习笔记之---编写dao实现类的CRUD

    Mybatis编写dao实现类的CRUD 1.pom.xml <dependencies> <dependency> <groupId>junit</grou ...