Linux命令行下SSH端口转发设定笔记
2012-03-13 11:14

在Windows下面我们可以很方便的使用putty等ssh工具来实现将服务器上的端口映射到本机端口来安全管理服务器上的软件或者服务 那么我们换到在Liunx下我们应该怎么做呢?

	ssh -L 本地端口:服务器地址:服务器端口 用户名@服务器地址 -N 

参数详解:

-L 端口映射参数 本地端口 - 这个任意即可,只要本机没有其他的程序占用这个端口就行

服务器地址 - 你需要映射的服务器地址(名称/ip)

服务器端口 - 远程的服务器端口

-N - 不使用Shell窗口,纯做转发的时候用,如果你在映射完成后继续在服务器上输入命令,去掉这个参数即可

例子A:我们想远程管理服务器上的MySQL,那么使用下面命令

ssh -L 3306:127.0.0.1:3306 user@emlog-vps -N

运行这个命令之后,ssh将会自动将服务器的3306映射到本机的3306端口,我们就可以使用任意MySQL客户端连接 localhost:3306即可访问到服务器上的MySQL了。

例子B:一次同时映射多个端口

ssh -L 8888:www.host.com:80 -L 110:mail.host.com:110 \ 25:mail.host.com:25 user@host -N

这个命令将自动把服务器的80,110,25端口映射到本机的8888,110和25端口 以上命令在ubuntu 9.10 上测试通过...

http://be-evil.org/post-167.html

-R port:host:hostport该参数转发远程主机指定端口到本地主机指定端口上的连接。它
和-L参数的工作过程刚好相反。套接字监听远程主机上的端口,只要针对该端口有一个连接,它将被转发到本地主机和主机端口。该转发端口可以在不同的主机上通过配置文件来进行不同的配置。特权端口只能在以超级账号登录到远程主机时转发。