SSH 本地端口转发

  有时,绑定本地端口还不够,还必须指定数据传送的目标主机,从而形成点对点的"端口转发"。为了区别后文的"远程端口转发",我们把这种情况称为"本地端口转发"(Local forwarding)。

  假定host1是本地主机,host2是远程主机。由于种种原因,这两台主机之间无法连通。但是,另外还有一台host3,可以同时连通前面两台主机。因此,很自然的想法就是,通过host3,将host1连上host2。

  我们在host1执行下面的命令:

$ ssh -L 2121:host2:21 host3

  命令中的L参数一共接受三个值,分别是"本地端口:目标主机:目标主机端口",它们之间用冒号分隔。这条命令的意思,就是指定SSH绑定本地端口2121,然后指定host3将所有的数据,转发到目标主机host2的21端口(假定host2运行FTP,默认端口为21)。

  这样一来,我们只要连接host1的2121端口,就等于连上了host2的21端口。

$ ftp localhost:2121

  "本地端口转发"使得host1和host3之间仿佛形成一个数据传输的秘密隧道,因此又被称为"SSH隧道"。

下面是一个比较有趣的例子。

$ ssh -L 5900:localhost:5900 host3  

  它表示将本机的5900端口绑定host3的5900端口(这里的localhost指的是host3,因为目标主机是相对host3而言的)。

  另一个例子是通过host3的端口转发,ssh登录host2。

$ ssh -L 9001:host2:22 host3

  这时,只要ssh登录本机的9001端口,就相当于登录host2了。

$ ssh -p 9001 localhost

  上面的-p参数表示指定登录端口。

时间: 2024-10-26 20:16:53

SSH 本地端口转发的相关文章

ssh本地端口转发

ssh连接是有方向的,通常是ssh客户端去连接ssh服务器端.而我们运行的应用也是有方向的,比如我们去登陆一个qq,或者用浏览器上网,都是应用程序的客户端(本地下载qq.浏览器软件)去连接远处的qq服务器.web服务器.当ssh的连接方向和应用连接的方向一致时,这就称为ssh本地转发. 假设现在有一个防火墙保护的网络,在这个网络中防火墙会过滤经过53端口以外的数据包,所以在内网中我们就无法通过常规手段上网了,比如内网中的主机1就无法访问外网的web服务器主机3,因为经过80端口的数据全被防火墙过

ssh命令:隧道代理+本地端口转发+远程端口转发

0.前言 nc是一个在网络连接两端的好工具,同时也是也个临时的端口转发的好工具.(永久的端口转发用什么?用iptables) ssh也是这方面的好工具,好处是加密可靠可复用在一端操作即可,代价是要有登录帐号. 我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发.它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务. 1.隧道带理 典型应用:翻越中国高墙 需要条件:一

SSH 远程端口转发

既然"本地端口转发"是指绑定本地端口的转发,那么"远程端口转发"(remote forwarding)当然是指绑定远程端口的转发. 还是接着看上面那个例子,host1与host2之间无法连通,必须借助host3转发.但是,特殊情况出现了,host3是一台内网机器,它可以连接外网的host1,但是反过来就不行,外网的host1连不上内网的host3.这时,"本地端口转发"就不能用了,怎么办? 解决办法是,既然host3可以连host1,那么就从ho

【ssh】端口转发

来源:https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 非常非常好用,可以通过跳板解决两台服务器无法连接的问题 第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我们带来什么好处吧! 端口转发概述 让我们先来了解一下端口转发的概念吧.我们知道,SSH 会自动加密和解密所有 SSH

SSH 的端口转发

第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我们带来什么好处吧! 端口转发概述 让我们先来了解一下端口转发的概念吧.我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发.它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解

SSH Tunnel (端口转发) -- 把个人PC变成“幕后boss”

指路牌 SSH Tunnel 端口转发 网上有帖子提到SSH Tunnel与端口转发是不同的,这里我没有深入研究两个名词的具体区别,从结果上来说,我是被SSH Tunnel这个名词引到这个知识点的,但实现的效果很像"端口转发",姑且都写上吧. 适用场景 希望在自己电脑本地启动服务,让Internet发向服务器的请求转向自己的电脑,从而使调试更便利. 该debug模式只有特殊情境:如强制需要固定IP等才会用到,并不具有普遍性.网上大多教程是将端口映射到局域网内某设备上,应该都出出自运维向

远地利用ssh进行端口转发,传输数据和远程登录

博客地址:http://loopholes.blog.51cto.com/9445813/16203672015-03-17 "本试验需要下载花生壳,不要问我花生壳是什么,下载点这里" 如何让在家里面连入到公司的电脑,对于这个问题,就是我作试验的起因了: 1.如果只是让用户登录,你只需要安装SSH的服务端(server),如果你还需要远程对方,你需要下载SSH的客户端(clients) yum install -y openssh ==>会自动把openssh-server(服务

ssh利用端口转发实现SOCKS5代理

现在linux下ssh使用比较广泛的是openssh包 ssh相关选项: -V 显示版本: ssh -V OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014 -f 输入密码后进入后台模式(Requests ssh to go to background just before command execution.) -N 不执行远程命令,用于端口转发( Do not execute a remote command. This i

SSH的端口转发

一.SSH端口转发的概念 SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH 还能够将其他 TCP 端口的网络数据通过SSH 链接来转发,并且自动提供了相应的加密及解密服务.这一过程也被叫做"隧道"(tunneling),这是因为 SSH 为其他TCP 链接提供了一个安全的通道来进行传输而得名.例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输.而与此同时,如果工作环境中的防火墙限制了一些网络