通过SSH隧道创建SOCKS代理

SSH或secureshell是一种非常流行和安全的协议,用于以加密方式连接和发送命令到远程系统。SSH还有其他强大的特性,比如代理从客户机到远程服务器的流量。这个特性也称为SSH隧道。客户机通过常规方式连接到远程SSH服务器,但也在客户机系统上创建了一个端口。此本地端口处于列出的模式,在该模式下,到此端口的连接被重定向或隧道到远程SSH服务器。

SSH代理的优点

代理是一种非常流行和有用的技术,用于通过中间系统与目标系统建立连接。中间系统称为代理,因为目标系统从这个中间系统获取连接请求。

  • 使远程连接更加安全。
  • 从目标端隐藏客户端。
  • 使用中间代理系统控制远程连接。

使用SOCKS5创建SSH代理

ssh命令提供 -D级 选项以创建代理。默认代理类型是Sock5。Socks5是一种HTTP代理。此外,还应指定在客户端系统上侦听的本地端口号。在下面的示例中,TCP端口号8080作为Socks5侦听本地连接。

ssh -D 8080 [email protected]

或者,可以使用其DNS名称或主机名指定远程服务器。在下面的示例中,远程主机名是linuxtect.com。

ssh -D 8080 [email protected]

侦听Socks代理的指定接口/IP地址

默认情况下,SSH代理侦听localhost或127.0.0.1。这使得代理可用于本地使用和本地应用程序。或者,可以指定一个特定的接口或IP地址作为Socks5代理列出。在端口号之前指定IP地址,并使用双冒号作为分隔符。在下面的示例中,Socks5代理端口8080侦听IP地址192.168.1.10。

ssh -D 192.168.1.10:8080 [email protected]

侦听Socks代理的所有接口/IP地址

如果我们想监听所有接口,而不想逐个指定它们,glob操作符*可以用作IP地址。

ssh -D "*:8080" [email protected]

不启动SSH Shell(不执行命令)

SSH用于创建shell以运行命令。即使创建了Socks5代理,默认情况下也会创建SSH shell。如果我们不需要,我们可以阻止SSH shell的创建,其中没有命令可以执行。这个 -不 选项用于不启动SSH shell。

ssh -N -D 8080 [email protected]

相关文章: Linux ulimit命令教程及示例

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享