Fork me on GitHub

SSH端口转发与维持

SSH port forwarding notes

SSH端口转发与维持

更新看心情,高产不可期。话题随机选,知识寥寥记。

SSH的3中代理模式

在日常工作中,ssh命令除了登陆用以外,还有三种代理功能,对应参数为(-L/-R/-D):

  • 正向代理(-L):相当于 iptable 的 port forwarding
  • 反向代理(-R):相当于 frp 或者 ngrok
  • 动态代理(-D):相当于 ss/ssr

功能对比

  • 正向代理(-L)的第一种用法可以用 iptable 的 port-forwarding 模拟,iptable 性能更好,但是需要 root 权限,ssh -L 性能不好,但是正向代理花样更多些。

  • 反向代理(-R)一般就作为没有安装 frp/ngrok/shootback 时候的一种代替,但是数据传输的性能和稳定性当然 frp 这些专用软件更好。

  • 动态代理(-D)其实是可以代替 ss/ssr 的,区别和上面类似。所以要长久使用,推荐安装对应软件,临时应急用用ssh也无妨。

第1部分 正向代理(本地端口转发)

local

server1(跳板服务器)

server2(目标服务器, 在端口9000启动了web服务器)

目标1:将本地80端口能通过server1访问到server2的9000端口

local_port_forwarding

1
ssh -L 80:server2:9000 sever1user@server1ip

常见实例:mysql数据访问(不想对外开放3306端口的时候)

目标2:本地3307转发到server1的3306

1
ssh -L 3307:127.0.0.1:3306 sever1user@server1ip

第2部分 反向代理(远程端口转发)

场景local的80端口启动了web服务,想要内网穿透(把本地服务暴露到公网上,比如server2访问local:80的web服务)

local 80端口运行web

server1 有公网IP,权限要高, 暴露端口port1

server2

目标:通过ssh端口隧道将local:80的web服务暴露到server1的公网IP的某个指定端口上,如此server2就可以通过访问server1的某个端口,实现和local:80服务的交互。

remote_port_forwarding

1
ssh -R 0.0.0.0:port1 localhostip:80 root@server1ip

0.0.0.0是为了让所有IP都能访问,一般需要server1的root权限。

因为port1要暴露出来,所以记得要开在云服务器中打开放火墙。

常用实例

  1. burp流量抓包

  2. 本地web服务分享

第3部分 动态代理(动态端口转发)

local

server1

和本地转发很相似,只是不再指定由server1访问server2,而是由server1访问其他资源。

目标:local通过server1访问各种网站(包括local自己无法访问的的站点)

(i.e. scientific visit)

dynamic_forwarding

比如:在 local的1080 端口启动一个 socks5 服务,通过本地 socks5 代理的数据会通过 ssh 链接先发送给server1,再从 server1 转发送给其他远程主机:

1
ssh -D 1080 user@serv1ip

那么在 localhost 上面,浏览器配置 socks5 代理为 127.0.0.1:1080,看网页时就能把数据通过 server1 代理出去,类似 ss/ssr 的原理,只不过这里的示例是用ssh来实现。

第4部分 端口转发维持

  1. 工具推荐:linux autossh(win不支持,win的ubuntu子系统可用)、mosh(Mac亲测很稳)。

  2. 使用ssh命令时加参数:

保持linux下保持ssh不断线

1
ssh -o ServerAliveInterval=60 user@server_ip

按Ctrl+C退出

-------------  Fin    Thanks for reading!  -------------

本文标题:SSH端口转发与维持

文章作者:TesterCC

发布时间:2020年04月12日 - 18:04

最后更新:2020年04月13日 - 18:04

原始链接:http://blog.fullstackpentest.com/ssh-port-forwarding-notes.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。