• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SSH端口转发实现内网穿透的实现

    我们局域网的机器能够访问外网,但是外网不能访问内网。因为内网访问互联网时候能确定外网的地址,外网却不能确定我们局域网内的具体地址。(ip地址有限)如果 我们在访问外网的时候,这个链接让他保持、不断,那么这个链接就相当于我们建了一条路,内网数据能出去,外网数据能进来,ssh也是这个方法。

    使用ssh命令链接公网服务器

    1、首先在外网服务器上编辑sshd的配置文件

    vim /etc/ssh/sshd_config
    #将GatewayPorts 开关打开
    GatewayPorts yes
    重启sshd服务,使用修改生效(linux 版本不同命令可能会有差异)
    systemctl restart sshd 
    

    2、命令

    ssh -NTf -R <local-host>:<local-port>:<remote -host>:<remote-port> user@host
    
    local-host 可省略
    例如:ssh -NTf -R 8888:127.0.0.1:8080 root@host
    

    3、参数说明

    -C 允许压缩数据
    -f 后台运行
    -N 表示只连接远程主机,不打开远程shell
    -R 将端口绑定到远程服务器,反向代理
    -L 将端口绑定到本地客户端,正向代理
    -T 不为这个连接分配TTY
    -NT 代表这个SSH连接只用来传数据,不执行远程操作

    保持ssh链接不断开

    通常我们使用ssh 链接服务器的时候,如果长时间不操作,这个链接是会关闭的。

    方法一、设置客户端

    1)用户级别的设置

    vim ~/.ssh/config(如果没有config创建一个)

    2)全局设置

    /etc/ssh/ssh_config

    选择其中一个就可以,添加下面参数

    #每隔60秒向服务器发送一个空包
    ServerAliveInterval 60
    #如果超过两次没成功就断开
    ServerAliveCountMax 2
    #转发失败后退出,便于重建连接
    ExitOnForwardFailure yes 

    临时写法(推荐,不影响他人)

    ssh -o ServerAliveInterval=30 root@host
    ssh -NTf -R 8888:127.0.0.1:8080 root@host -o ServerAliveInterval=30 -o ServerAliveCountMax=2

    方法二、设置服务器端

    vim /etc/ssh/sshd_config
    #每隔30秒,服务器端向客户端发送心跳
    ClientAliveInterval 30
    #3次心跳无响应之后,会认为Client已经断开
    ClientAliveCountMax 3

    方法三、使用shell脚本

    touch myAutoSSH.sh
    因为我设置ssh连接是rsa免密认证,所以这里逻辑就不需要密码 

    ssh免密登录方法

    while(1)
    do
      ssh -NTR <local-host>:<local-port>:<remote -host>:<remote-port> user@host
    done
    

    保证断开后立马就能连上把-f参数去掉 否则就死循环了

    方法四、使用autossh

    需要下载autossh软件,操作和直接使用ssh 差不多

    -M是监听端口,监听命令是否有无响应的,帮我们保持链接的

    autossh -M 5678 -NTR <local-host>:<local-port>:<remote-host>:<remote-port> user@host
    

    我不喜欢下载软件-乱七八糟的软件装的很多,也不喜欢修改配置-修改后怕影响别人使用,所以我喜欢使用客户端临时配置的方式

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:linux后台执行命令&和nohup的具体使用方法
    下一篇:详解Nginx反向代理实现会话(session)保持的两种方式
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    SSH端口转发实现内网穿透的实现 SSH,端口,转发,实现,内网,