美文网首页
ssh 端口转发代理(一)

ssh 端口转发代理(一)

作者: 冬日大草原的黄昏 | 来源:发表于2021-03-18 21:24 被阅读0次

转发的参数

C:压缩数据
-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N :不执行脚本或命令,通常与-f连用。
-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
-L : [本地主机]:本地端口:目标IP:目标端口
-D : 动态端口转发
-R : 远程端口转发  [远程主机]:远程端口:目标IP:目标端口
-T :不分配 TTY 只做代理用
-q :安静模式,不输出 错误/警告 信息

本地端口转发

  • 需求:

只有172.16.30.83服务器才能够访问172.16.10.203这台服务器,本地电脑可以连接172.16.30.83服务器。
现在希望本地使用navicat能够连接到172.16.10.203的数据库进行操作。

解决方法:

可以在172.16.30.83服务器上指定一个端口,转发请求到172.16.10.203的数据库,返回结果。

在83服务器上操作:
ssh -fNL 172.16.30.83:44444:127.0.0.1:3306 root@172.16.10.203
#表示不将ssh后面的字符串当做命令执行、不用登陆到远程主机,本地绑定44444端口在172.16.30.83这个IP上并监听,通过172.16.10.203这台服务器的网卡将来自本地44444端口的请求转发到172.16.10.203:3306端口上
通过ps -ef |grep ssh可以看到ssh -fNL 172.16.30.83:44444:127.0.0.1:3306 root@172.16.10.203这个线程,说明这个隧道已经建立了。

使用:
client使用172.16.30.83:44444端口就可以连接203服务器的数据库

示意图如下:


image-20201206150014706.png

远程端口转发

  • 需求:

有三台服务器,172.16.10.203, 10.10.3.101(内网), 192.168.10.45。
101可以连通203和45机器,但是101处在内网中,203和45没法主动连接101,203和45之间不通。
现在希望203和45之间能够直接连接通信。

解决方法:

可以在101这个中转服务器上执行ssh命令,建立一个101服务器与203服务器通信的隧道,并将来自这个隧道的请求转发到45服务器的指定端口。
在10.10.3.101服务器上操作:
ssh -fNR 127.0.0.1:55555:192.168.10.45:22 root@172.16.10.203
#表示不将ssh后面的字符串当做命令执行、不用登陆到远程主机172.16.10.203上,通过ssh命令在172.16.10.203上将55555端口绑定在172.16.10.203服务器的lo地址上(即127.0.0.1:55555),到此就就建立了101服务器与203服务器之间的一个通信隧道。后续就可以在172.16.10.203服务器上使用ssh -p55555 root@127.0.0.1登陆到192.168.10.45服务器上了。也可以提前在101服务器配置与45服务器的免密登陆,这样在203服务器上使用ssh -p55555 root@127.0.0.1命令登陆时就不需要输入密码了。
通过ps -ef |grep ssh可以看到ssh -fNR 127.0.0.1:55555:192.168.10.45:22 root@172.16.10.203这个线程,说明这个隧道已经建立了。

示意图如下:

image-20201206153142839.png

命令说明:

ssh -fNR 127.0.0.1:55555:192.168.10.45:22 root@172.16.10.203 #在203服务器上执行该命令
image-20201206154413829.png

仅限于自己的理解,如有错误之处,请指正!

相关文章

  • 通过SSH隧道连接mysql

    SSH隧道的类型 SSH隧道有3种类型: 动态端口转发(Socks 代理) 本地端口转发 远端端口转发 通过本地端...

  • ssh隧道用于调试

    相关阅读 SSH隧道与端口转发及内网渗透 | 个人博客 SSH隧道技术----端口转发,socket代理 | 博客...

  • 远程服务调试技巧

    SSH端口转发 反向代理 远程端口转发到本地 在remote主机上将会监听10000端口,把接收到的数据转发到本地...

  • ssh 端口转发代理(一)

    转发的参数 本地端口转发 需求: 只有172.16.30.83服务器才能够访问172.16.10.203这台服务器...

  • SSH隧道技术

    SSH隧道(即SSH代理、端口转发),现在linux默认支持的就是ssh登录。对于SSH隧道,如果之前没接触过,只...

  • ssh端口转发

    SSH Tunneling ssh端口转发,用来实现翻墙的操作。 它有几种不同的称呼:ssh端口映射,端口转发,s...

  • 详解SSH三种端口转发

    详解SSH三种端口转发 SSH端口转发的好处: 角色定义: 1. 本地端口转发 命令: 参数: 应用: 关闭: 2...

  • Go 使用代理方法

    链接远程服务器,设置SSH端口转发 将SOCK5代理转发为HTTP代理(Go不支持SOCKS5代理) 设置http...

  • 5. 调试利器 - 端口转发 - ssh隧道技术

    说明 使用技术:** SSH隧道**端口转发分为 本地端口转发 和 远程端口转发。本地端口转发:将远程的端口映射到...

  • Windows Cmd以及Python实现端口转发

    以前笔者写过一篇文章来梳理ssh端口转发-SSH端口转发的妙用[https://www.jianshu.com...

网友评论

      本文标题:ssh 端口转发代理(一)

      本文链接:https://www.haomeiwen.com/subject/hwopcltx.html