原因

在实际工作中,经常遇到要查看客户路由器,帮助客户解决问题的情况,但是我们不可能每次都在客户现场,因此反向连接的存在就非常必要。


原理

因为客户路由器除了拨号当主路由的以外,对我们来说基本上都是局域网的IP我们不可能直接访问到,那么我们就只能让路由器主动去连接到一个公网服务器,然后我们通过公网服务器再连接到路由器上就实现了反向连接。


路由器端配置

  1. 路由器端生成私钥:
    路由器端生成私钥dropbearkey -f /etc/dropbear/my_key.crt -t rsa,使用dropbearkey命令生成其中-f参数后写要生成的私钥路径,-t 为秘钥类型,我们选择rsa,命令执行后会打印出私钥所配对的公钥,复制公钥内容
root@KFRouter:/etc/dropbear# dropbearkey -f /etc/dropbear/my_key.crt -t rsa
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCINS5ZrrFkx0adLyxaVdtUHwXkYp0dlF6.........................fWgbqmG6H/ root@Router
Fingerprint: md5 64:a7:fd:ff:b0
  1. 复制公钥到服务器:
    将上面步骤保存的公钥写入到公网服务器的~/.ssh/authorized_keys中,此时路由器将本地ssh端口镜像到服务器就不需要输入密码了
  2. 执行镜像端口命令:
    执行命令ssh -y -i /etc/dropbear/my_key.crt-f -N -T -R 51112:localhost:22 root@114.215.xx.134后,公网服务器端口51112将等效于路由器ssh端口,若步骤2错误的话,此步骤将需要输入密码

服务器端配置

前几个步骤已经将路由器的ssh端口镜像到公网服务器的某个端口,那么我们现在只需要在公网服务器上登录那个镜像端口就相当于连接到了路由器上,因此为了免输密码,我们需要先生成密钥对,并将公钥拷贝到路由器/etc/dropbear/authorized_keys

  1. 服务器端生成密钥对:
    服务器中执行命令ssh-keygen命令后按提示生成秘钥
[proxy@iZm ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/proxy/.ssh/id_rsa): /home/proxy/.ssh/my_rvssh
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/proxy/.ssh/my_rvssh.
Your public key has been saved in /home/proxy/.ssh/my_rvssh.pub.
The key fingerprint is:
9b:4b:77:86:62:860:9e:9c:77 proxy@iZm5e
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|        .        |
|       +S+ .     |
|        *o+ E    |
|        ++.*..  .|
|       ..oX...o o|
|        .+ o ..o |
+-----------------+
[proxy@iZm5e ~]$ cat /home/proxy/.ssh/my_rvssh.pub
ssh-rsa AAAAB3NzaC1yc2EAwAAAQEA0oormuc8qNzccYg......p59yo/G/d7zv1zLNPdWObKgNW6tpuCcMNGZkf1XVn0oc9RV3O2GSV/lmHZfrUatV1Me7/o32WMXlCETvwXuv3p3sj8XPXUVzENT9qCUyX34/GlAqNXTwqHXj7hE0hdNW6Dn2LNTYgpD0Ku4S6FTjmlLrnV/7w=5ea0mqg67os8f7p2z92Z
  1. 拷贝服务器的公钥到路由器:
    上面的信息中已经告知了秘钥所对应的公钥位置了/home/proxy/.ssh/my_rvssh.pub直接查看公钥内容,然后将文件内容追加到路由器文件/etc/dropbear/authorized_keys
  2. 登录镜像端口:
    在服务器中执行命令:ssh -p 55555 root@localhost -i ~/.ssh/my_rvssh执行完此命令后,不出意外可以进入路由器系统

openWRT路由器实现内网穿透,公网远程连接局域网/内网路由器实现方案相关推荐

  1. 【Minecraft开服教学】使用 MCSM 面板一键搭建我的世界服务器 并使用内网穿透公网远程联机

    文章目录 前言 1.Mcsmanager安装 2.创建Minecraft服务器 3.本地测试联机 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射内网端口 5.远程联机测试 6. ...

  2. Linux-Windows远程连接(局域网内连接和外网与局域网连接)

    局域网内: 1. Windows->Windows(mstsc) 1) 打开被连接windows远程连接. 我的电脑->属性>远程->允许远程计算机连接. 2) win+R输入 ...

  3. 【Minecraft开服教程】使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机

    文章目录 前言 1.Mcsmanager安装 2.创建Minecraft服务器 3.本地测试联机 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射内网端口 5.远程联机测试 6. ...

  4. 【内网穿透服务器】利用云服务器+FRP实现内网穿透并远程连接服务器

    应用目的:远程管理或在外网访问内网机器上的服务 这里我们是使用云服务器+FRP实现内网穿透,达到远程连接服务器的目的 准备工作 云服务器 这里我们租用的是腾讯云的服务器,类似于下图的这种,配置选择可以 ...

  5. 内网穿透在家远程连接公司电脑

    说在前面------以下内容均建立在你有一台外网服务器的基础上进行.阿里云.腾讯云什么的都可以. 本文讲述: 1.在任何地方通过ssh连接公司或者家中的服务器 2.在任何地方通过远程桌面连接公司或者家 ...

  6. 使用VNC远程连接Ubuntu - 内网穿透实现公网远程办公

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  7. 公网远程连接windows SQL Server数据库【内网穿透】

    文章目录 1. 本地安装配置SQL Server 2. 将本地sqlserver服务暴露至公网 2.1 本地安装cpolar内网穿透 2.2 创建隧道 3. 公网远程连接sqlserver 3.1 使 ...

  8. Windows内网穿透远程桌面:公网远程桌面控制内网电脑 2/3

    系列文章 Windows内网穿透远程桌面:启用Windows远程桌面 1/3 Windows内网穿透远程桌面:公网远程桌面控制内网电脑 2/3 Windows内网穿透远程桌面:配置固定的远程桌面公网T ...

  9. win10内网穿透实现远程桌面连接

    一.前情提要 在学校的时候曾经看到过同学在实验室用远程桌面控制宿舍自己的电脑,这样不仅能随时使用自己电脑上的文件,还省得把电脑带来带去又麻烦又重,当时也研究过,但没成功,这不新冠肺炎疫情导致开学时间一 ...

最新文章

  1. 【AI不惑境】模型量化技术原理及其发展现状和展望
  2. python3精要(17)-迭代器iter,下一个next,列表解析
  3. MyBatis查询,返回值Map或ListMap
  4. 第二节:使用反射构建动态可扩展应用程序
  5. 修改本地管理员密码脚本
  6. bim webgl 模型 轻量化_BIM模型轻量化是什么?BIM模型轻量化原理
  7. ECSHOP商城SEO优化商城更新内容后将页面链接自动推送给百度
  8. 第三方支付接口怎么测试
  9. MySQL数据文件的组织
  10. lopatkin俄大神精简中文系统 Windows 10 Pro 10240.16393.150717-1719.th1_st1 x86-x64 CN Tablet PC FINAL...
  11. SD内存卡格式化后如何数据恢复教程
  12. matlab syms符号变量
  13. 什么是SAAS平台?三分钟了解
  14. python神坑系列之深浅拷贝
  15. iOS--中文排序、全拼音排序
  16. Python+Neo4j构建时光网TOP100电影知识图谱
  17. oracle字符串类型的时间常用操作
  18. carla创建地图(三)基于cityengine创建地图
  19. c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较
  20. 计算机音乐制作的论文,电脑音乐制作的相关论文范文(2)

热门文章

  1. Request共享数据
  2. JS 处理后端返回大量数据
  3. 常用的模拟器全集 网工必备-网络工程师(思科,华为)
  4. Lake Shore—335 型低温温度控制器
  5. Android圆形进度条,显示百分比
  6. html5换场效果图,场景转场动画的Canvas实现
  7. STM32 PB3作为普通IO口的使用方法
  8. 光模块的发射(TOSA)和接收(ROSA)器件解析
  9. 小程序分享给好友以及分享到朋友圈
  10. 大咖谈交通模型的价值