ssh端口转发的方式有哪些
本篇内容介绍了"ssh端口转发的方式有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
ssh端口转发怎样
这几天teamviewer被黑的事情影响挺大,于是由远程控制想到了内网穿透,自然而然的想到了ssh的端口转发也能实现内网穿透。再细想一下,发现ssh隧道、或者说端口转发,竟然实现了正向代理、反向代理和内网穿透三种常用的网络功能,更佩服其功能的强大和使用中的便利。
ssh有三种端口转发模式
本地转发
本地端口转发(LocalPortForwarding),是将本地主机某个端口流量转发到远程主机的指定端口。其命令行语法是:-L[bind_address]:localport:[remote_host]:remote_port。"-L"即"local"的首字母,类似的远程转发的"-R"是"remote"的首字母,动态转发的"-D"是"dynamic"的首字母,很好记。
该命令中将本地的5901端口通过ssh隧道转发到远程主机的5901端口,远程连接时输入localhost或者127.0.0.1和5901端口便连到了远程主机的5901端口。通过iptables和ssh的本地转发,实现了他人无法连接,只有自己才能访问的目的。
远程转发
远程端口转发(RemotePortForwarding),是将远程主机某个端口转发到远程主机的指定端口。其命令行语法是:-R[bind_address]:port:[local_host]:local_port。
远程转发最常用的功能是内网穿透。有一个公网ip的主机,便可以借助ssh隧道的远程转发实现内网渗透,达到外网访问内网资源的目的。需要注意的是ssh远程转发默认只能绑定远程主机的本地地址,即127.0.0.1。如果想要监听来自其他主机的连接,需要修改远程主机ssh的配置,将"GatewayPorts"改成"yes",重启ssh后生效。
动态转发
无论本地转发还是远程转发,都需要指定本地和远程主机的端口。动态转发(DynamicPortForwarding)则摆脱这种限制,只绑定本地端口,远程主机和端口由发起的请求决定。动态转发的语法是:"-Dbind_address:port",一个转发示例:
动态转发实际上实现了正向代理功能,因此可以用来科学上网。本地转发也可以做正向代理,但要对每一个请求的主机和端口做转发,比较繁琐,实践中不会这么用。
"ssh端口转发的方式有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!