• 建立ssh反向隧道


    参考链接:

    https://blog.csdn.net/sinat_41721615/article/details/105575955

    https://zhuanlan.zhihu.com/p/112227542

    建立ssh反向隧道方法:

           准备:一台有公网IP的服务器,处于内网的设备,客户端设备

           说明:由于客户端设备不能直接通过互联网访问内网设备,而内网设备可以通过ssh与服务器建立连接,因此需要在内网设备和服务器之间建立一条反向ssh隧道,客户端可以通过服务器来ssh访问内网设备

    建立ssh反向隧道过程:

    1. 在内网设备输入ssh命令,与服务器建立ssh通信,同时将ssh数据在服务器的5007端口做转发

     

    其中-N表示不执行命令,只转发;-f表示后台运行;-R表示反向隧道;5007:localhost:22表示监听服务器的5007端口,所有包转发到本地的22端口;root为ssh服务器用户;119.28.54.126为公网服务器IP

     

    1. 登录服务器ssh转发端口即可ssh到内网设备上

    由于ssh会超时断线,因此需要配置断线重连,并且需要设备免密登录服务器

    断线免密登录自动重连:

    1. 在内网设备产生公钥和私钥

     

     

    然后按三次回车执行默认选项生成公钥和私钥。会生成密钥文件和私钥文件 id_rsa,id_rsa.pub 或 id_dsa,id_dsa.pub

     

    1. 复制密钥

    在设备执行

    ssh-copy-id  root@serverip

    将密钥复制到服务器.ssh/known_hosts文件中

    或在服务器

    创建存放密钥文件: [root@localhost .ssh]# touch authorized_keys

    追加密钥到文件:[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    1. 在内网设备执行autossh

     

     

    其中-M 5555,表示通过5555端口监听连接状态,有问题就重连

    可能出现的错误:Permission denied, please try again.

    问题原因:服务端SSH 服务默认配置禁止root用户登录策略。

    解决方法:

    1、通过 cat  /etc/ssh/sshd_config 查看是否包含类似如下配置: #PermitRootLogin no

     

    2、将#PermitRootLogin no 改为 PermitRootLogin yes

    3、使用如下指令重启 SSH 服务: service sshd restart

  • 相关阅读:
    解决Docker安装慢
    Spring Boot源码分析-启动过程
    Ubuntu安装Docker
    Jenkins搭建
    Hexo搭建静态博客站点
    FactoryBean简介以及Mybatis-Spring应用
    ArrayList源码分析
    Spring AOP-用代理代替繁琐逻辑
    Spring Validation-用注解代替代码参数校验
    Netty学习(4):NIO网络编程
  • 原文地址:https://www.cnblogs.com/bai2018/p/13948751.html
Copyright © 2020-2023  润新知