zoukankan      html  css  js  c++  java
  • [转]SSH 反向隧道 内网穿透,AutoSSH自动重连

    原文:https://blog.csdn.net/upshi/article/details/78630285

    ----------------------------------------------------------------------

    SSH 反向隧道 内网穿透,AutoSSH自动重连

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/upshi/article/details/78630285

    SSH 反向隧道 内网穿透,AutoSSH自动重连

    1. SSH反向隧道

    通常家用的宽带没有公网IP,运营商现在都分配的是内网IP。这样,公网上的机器就无法直接访问到内网的机器。

    SSH具有建立反向隧道的能力,进行内网穿透,前提是我们有一台有公网IP的机器,假设机器情况如下:

    机器网络IP端口
    A 公网 114.114.114.114 80
    B 内网 192.168.10.1 7777

    1.修改公网机器A的SSH配置文件/etc/ssh/sshd_config

    GatewayPorts yes
    • 1

    这样可以把监听的端口绑定到任意IP 0.0.0.0上,否则只有本机127.0.0.1可以访问。

    2.在内网B的机器上执行命令,建立反向隧道

    ssh -NfR 80:127.0.0.1:7777 root@114.114.114.114
    • 1

    然后输入密码,通道即建立成功。 
    -N:只建立连接,不打开shell 
    -f:建立成功后在后台运行 
    -R:指定端口映射

    此时,会在A的机器上开一个80端口监听,所有访问公网机器A的80端口的请求都会转发到内网B的7777端口上。 
    在公网A机器上查看端口:

    [root@upshi ~]# lsof -i:80
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    sshd    1578 root    8u  IPv4  19403      0t0  TCP *:cbt (LISTEN)
    
    • 1
    • 2
    • 3
    • 4

    如果不想每次都输入密码,可以配置一下SSH免密登录。

    2. AutoSSH 自动重连

    使用SSH的方式不够稳定,使用AutoSSH可以自动在连接断开时自动重连,再把AutoSSH加入系统服务自动启动,则可以做到稳定的连接。

    1.安装AutoSSH

    sudo apt-get install autossh
    • 1

    2.执行AutoSSH命令

    autossh -M 5555 -NR 80:127.0.0.1:7777 root@114.114.114.114
    • 1

    -M:在5555端口上监听连接的变化,只要断开就重连 
    少了-f 参数,因为AutoSSH本来就在后台运行

  • 相关阅读:
    Linux信号列表(zz)
    TCP状态转移图学习总结
    UNP学习笔记之四select和poll
    RSS2.0结构
    UNP学习笔记二简单的并发服务器(concurrent servers)
    js面向对象基础(zz)
    libevent introduction
    Linux下Makefile的automake生成全攻略(zz)
    UNP学习笔记之三POSIX Signal Handling
    关于网络编程(服务端)的一些笔记(zz)
  • 原文地址:https://www.cnblogs.com/oxspirt/p/11932905.html
Copyright © 2011-2022 走看看