zoukankan      html  css  js  c++  java
  • ssh转发

    ssh有3种转发:本地转发,远程转发,动态转发。

    1、本地转发:当client和ssh-client的方向一致的时候,就是本地转发。

    限制:1)client直接访问server被防火墙阻挡。2)ssh通讯双向允许。

    比如:client想访问server上的393端口,但是被2者之间的防火墙挡住了,防火墙允许ssh访问。这时,使用ssh的本地转发,将本应该访问server:393的数据转发的本地的7000(假设)端口上,然后,再由ssh将本地7000端口的数据通过ssh隧道发送到server的393端口。这样就完成了本地转发。

    例子:

    #将client上访问7001端口的数据,全部转发到server上的389端口,
    #这里的localhost指的是server
    ssh -L 7001:localhost:389 Server

    2、远程转发。当client和ssh-client不一致的时候,使用远程转发。

    限制:1)client不能直接访问server,2)也不能通过ssh访问server,3)server访问client时被允许的。

    这是为啥,方向不一致的原因,我们把ssh-client配置到server上,把ssh-server配置到client上,这样就可以利用ssh通信了。

    例子:在远程的server上执行:

    #7001端口是Client上的,localhost指server,
    #这里的意思是:在server上的ssh-client发起ssh连接,通知client的ssh-server监控7001端口,
    #如果有数据访问clinet的7001端口,就会由在clinet上的ssh-server转发到server上的ssh-clinet上,在转发到server上的389端口。 ssh -R 7001:localhost:389 Client

    3、动态转发:其实就是本地转发的升级版,动态转发没有server的端口号,它的含义是:将访问本地某个端口的数据全部转发到server上,通过一个socks。

    一个例子:ssh -D 7001 <SSH Server>,该例子将client的7001端口的数据全部转发到server上。

  • 相关阅读:
    CentOS6.5配置MySQL主从同步
    CentOS6.5安装telnet
    linux 下安装Google Chrome (ubuntu 12.04)
    jdk w7环境变量配置
    JDBCConnectionException: could not execute query,数据库连接池问题
    注意开发软件的版本问题!
    linux mysql命令行导入导出.sql文件 (ubuntu 12.04)
    linux 下root用户和user用户的相互切换 (ubuntu 12.04)
    linux 下 vim 的使用 (ubuntu 12.04)
    linux 下安装配置tomcat-7 (ubuntu 12.04)
  • 原文地址:https://www.cnblogs.com/litifeng/p/8993629.html
Copyright © 2011-2022 走看看