SSH隧道与端口转发进行内网穿透

本文主要记录 ssh 隧道使用 来进行内网穿透。使用 sockv5, 其效果和 ss 一样;仅仅使用ssh,putty 就能做到。可以作为应急使用

基本命令:

ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host 
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host 
ssh -C -f -N -g -D listen_port user@Tunnel_Host

常用实例:

ssh -C -f -N -g -D 1080 user@Tunnel_Host

参数解释:

-f Fork into background after authentication. 
后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-L port:host:hostport 
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-R port:host:hostport 
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-D port 
指定一个本地机器 “动态的’’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.

-C Enable compression. 
压缩数据传输。

-N Do not execute a shell or command. 
不执行脚本或命令,通常与-f连用。

-g Allow remote hosts to connect to forwarded ports. 
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

PUTTY 设置:

终端配置proxychains4 进行代理:

# 安装
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure
make
sudo make install
sudo make install-config
# 修改/usr/local/etc/proxychains.conf文件(可以从源代码src文件下拷贝模板)
socks5 127.0.0.1 1080
# 使用
proxychains4 curl www.google.com

更多请参考:https://github.com/rofl0r/proxychains-ng

参考链接:

http://blog.creke.net/722.html

https://blog.csdn.net/u013457310/article/details/82899166

https://blog.csdn.net/JBlock/article/details/79584073

https://blog.csdn.net/AcSuccess/article/details/76165245

本文为日常工具使用备份,如果对您有帮助,希望您能点击右下角推荐!

转载请注明出处https://www.cnblogs.com/xuyaowen/

原文地址:https://www.cnblogs.com/xuyaowen/p/ssh-tunnels-putty.html