实验条件:
1.本文所述之实验,本地主机操作系统基于Ubuntu 10.04,远程主机操作系统基于BSD发行版
2.本地主机安装了ssh client(ssh),也安装了ssh server(sshd)
基础知识:
文章中客户端指ssh,用于发出连接请求;服务端指sshd,监听端口22。
安全通道是指ssh与sshd之间已建立的连接通道,该连接是加密的。
SSH端口转发格式[1]
[-L [bind_address:]port:host:hostport]
[-R [bind_address:]port:host:hostport]
[-D [bind_address:]port]
动态端口转发
-D
这会使本地主机监听端口port,一旦与该端口建立连接,经过该端口的数据会被转发到安全通道发送到远程主机。远程主机的sshd会根据数据包的应用层协议(如HTTP)自动建立对应的连接。
$ ssh -D 7070 sisca@216.194.70.6
登陆前本地主机端口监听状态:
$ sudo netstat -lnput | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 927/sshd
tcp6 0 0 :::22 :::* LISTEN 927/sshd
登陆后本地主机端口监听状态:
$ sudo netstat -lnput | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 927/sshd
tcp 0 0 127.0.0.1:7070 0.0.0.