SSH 的确很强大, 可以很方便的实现从本地端口到远程端口的映射, 通常情况下使用 -L 或者 -R 参数, 例如:
SSH [email protected] -L 8023:RemoteIP:23
-L 将本地的某个端口映射到远程主机的某个端口上, 上例中就是将本地的 8023 端口映射到远程主机的 23 号端口上, 这样就可以直接 telnet 本机的 8023 端口来访问远程主机了.
但是需要说明的是 RemoteIP 可以是 127.0.0.1, 此时 127.0.0.1 指的是远程计算机, 而非本机地址.
-R 则正好与 - L 相反, 它将远程主机的某个端口映射到本地的某个端口上, 例如:
SSH [email protected] -R 8023:LocalIP:23
上例将远程主机的 8023 端口映射到本机的 23 号端口, 这样远程主机就可以 telnet 自己的 8023 端口来访问本地主机了.
最后 - D 参数将在本地开启一个 socks5 代理端口, 该端口接收到的数据将通过加密隧道传输到远程主机, 并有远程主机代理发出, 例如:
SSH [email protected] -D 7070
上例在本地开启一个 7070 号 socks5 代理, 浏览器等应用程序可以使用该端口通过远程主机访问网络.
需要说明的是,-D 参数开启的 socks 代理, 在我的机器上好像只有 Chrome 能使用, IE 不能使用, 原因未明, 估计是 DNS 解析的问题.
来源: http://www.bubuko.com/infodetail-3260907.html