• SSH端口转发


    SSH端口转发

    参考文档

    精美图片来自B站 | IBM上的完整实践 以及对他的整理 | 使用MOBAXTERM的实践

    概述

    1. 远程端口转发,使用-R参数,内网穿透

    2. 动态端口转发,使用-D参数,用作代理上网

    3. 本地端口转发,使用-L参数,是动态端口转发的阉割版本,只能转发指定的端口,用(wireshark?)监听?

    4. 其他参数,注意-g参数,加了这个参数局域网电脑可以访问配置过的电脑达到转发

      -f    要求 ssh在执行命令前退至后台.它用于当ssh准备询问口令或密语,但是用户希望它在后台进行.该选项隐含了-n选项.在远端机器上启动
      -N    不执行远程命令.用于转发端口.
      -C    要求进行数据压缩 (包括stdin, stdout, stderr以及转发X11和TCP/IP连接 的数据).压缩算法和gzip(1)的一样,协议第一版中,压缩级别 “level” 用CompressionLevel选项控制.压缩技术在modem线路或其他慢速连接上很有用,但是在高速网络上反而 可能降低速度.可以在配置文件中对每个主机单独设定这个参数.
      -g    允许远端主机连接本地转发的端口  
      -q    安静模式.消除所有的警告和诊断信息
      -T    禁止分配伪终端
      -n    把 stdin重定向到/dev/null (实际上防止从stdin读取数据).  ssh在后台运行时一定会用到这个选项.它的常用技巧是远程运行X11程序.
      

    中转ssh(server)的设置

    vi /etc/ssh/sshd_config
    
    AllowAgentForwarding yes		
    #AllowTcpForwarding yes
    GatewayPorts yes
    
    重启服务 service sshd restart
    

    远程端口转发(内网穿透)

    网络情况如下,我们可以使用这种形式访问到右边私网的8080,具体的设置可以看mobax的图更好

    ssh -R 12310:127.0.0.1:5500 root@xxx.com  # 在私网电脑运行,把5500端口映射为公网的12310端口
    

    本地端口转发

    访问我们本地机器A的a1端口相当于访问远程机器C的c1端口,中间由B机器转发

    动态转发

    这个好理解,就是代理上网

    保持持久的SSH链接的两种方法

    1. 在客户端配置

      vi /etc/ssh/ssh_config(注意不是/etc/ssh/sshd_config文件),后面添加
      Host *
      ServerAliveInterval 30
      

      这表示要让所有的ssh连接自动加上此属性;如果要指定服务端,如下:使用-o的参数ServerAliveInterval来设置一个防止超时的时间

      ssh -o ServerAliveInterval=30 IP地址 
      
      1. 编辑服务器 /etc/ssh/sshd_config,最后增加 ClientAliveInterval 60 ClientAliveCountMax 1 这 样,SSH Server 每 60 秒就会自动发送一个信号给 Client,而等待 Client 回应

    名词理解

    本地端口转发: 
    访问本地的端口比如 localhost:10000 相当于访问远端的端口 xx.xx.xx.xx:22
    远程端口转发: 内网穿透
    访问远程的端口xx.xx.xx.xx:33389 相当于访问远程端口相连的一个机器的某个端口比如3389  ssh建立方式是从相连机器发起到远程的云主机的
    动态端口转发: 代理上网 这里可以做tcp抓包应该
    访问本地的端口的数据,都是相当于使用远程云主机去访问
    Ssh 链接是本地到云主机
    
    Local port forwarding – connections from an SSH client are forwarded, 
    							via the SSH server, to a destination server;
    Remote port forwarding – connections from an SSH server are forwarded, 
    							via the SSH client, to a destination server;
    Dynamic port forwarding – connections from various programs are forwarded, 
    							via the SSH client to an SSH server, 
    							and finally to several destination servers;
    
    
  • 相关阅读:
    Redis安装测试
    linux 查看磁盘空间大小
    冷备份与热备份、双机热备与容错
    IDEA在编辑时提示could not autowire
    IntelliJ IDEA 快捷键和设置
    POI实现EXCEL单元格合并及边框样式
    metaq架构原理
    二叉树
    开启“树”之旅
    巧妙的邻接表(数组实现)
  • 原文地址:https://www.cnblogs.com/zongzi10010/p/12539785.html
Copyright © 2020-2023  润新知