ssh -D 选项用于动态(Dynamic)端口转发

举例实现不同ssh连接功能目录

一、功能简介

        -D 支持 SOCKS5 协议,可以同时转发 TCP 和 UDP 报文

二、原理介绍

        假设拥有三台主机,具体环境如下:

        1. 主机 A:本地主机,即 SSH 客户 所在的主机,IP:192.168.0.100

        2. 主机 B:远程主机,即 SSH 服务 所在的主机,IP:134.201.250.100

        3. 主机 C:想要访问的目的主机,提供了web服务,IP:192.168.1.111

        AB互通,BC互通,AC不通

(举例环境,A是家里内网地址,B是有公网IP的公司主机,C是公司局域网地址)

关于-D选项的作用

 ssh -D 当前A主机侦听端口 B主机用户名@B主机ip地址 -p B主机ssh的侦听端口

-D portA 或 -D *:portA 表示从任意主机发往主机 A 的端口 X 的流量,都通过主机 B,发往报文中目标主机的目标端口。

-D localhost:portA 表示只有从主机 A 发往主机 A 的portA端口 的流量,才通过主机 B,发往报文中目标主机的目标端口。

-D hostD:portA 表示只有从主机 D 发往主机 A 的portA端口 的流量,才通过主机 B,发往报文中目标主机的目标端口。

额外的参数,建议根据需求尽量使用

-C        压缩传输

-f          后台执行

-N        不执行远程命令。这个参数告诉SSH不要执行远程shell或远程命令。通常与端口转发一起使用,以便可以在本地机器上访问远程服务器的端口,而不实际上登录到远程服务器

-g        允许远程端口转发。这个参数允许SSH进行端口转发,并将指定的本地端口映射到远程主机的端口

-T        启用透明隧道。这个参数通常与端口转发一起使用,它使得SSH将指定的本地端口映射到远程主机的端口,并且流量在本地机器和远程主机之间是透明的

、举例

        在A主机上执行下列命令,向B主机发起ssh连接

ssh -CfNgT -D 8888 user@134.201.250.100 -p 22

        连接成功后,在主机 A 上设置 Socks5 代理(火狐浏览器为例)

         假设portA是8888端口,建议设置7000以上端口,从而尽量保证不影响正常程序运行

        在主机 A 的火狐浏览器上就可以访问到主机 C 提供的web服务了

        从本地浏览器,到portA使用socks5协议,从portA到portB是ssh协议,从portB到portC是http或https协议。

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静候光阴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值