Articles of ssh tunnel

如何loginSSH端口转发?

说我有一个SSH服务器,启用端口转发。 用户build立SSH连接并转发BitTorrentstream量或其他非法或滥用stream量非常简单。 如何设置日志logging来logging用户创build的端口?

ssh ProxyCommand如何工作?

我很喜欢使用ssh的ProxyCommandfunction,并且可以使用它跳过多个堡垒主机以有效地到达最终​​的主机。 但是我似乎无法理解它是如何在后端工作的。 例如。 我有以下configuration文件。 Host final Hostname final.com Port 22 AgentForwarding yes User guestuser ProxyCommand "ssh [email protected] -W %h:%p" 我明白,为了连接到final的主机,ProxyCommand将在连接到final.com之前运行。 但是我似乎还不能理解连接的顺序。 那么选项-W %h:%p做什么的? 我知道这是netcat的function,与nc %h %p类似。 所以据我的理解,这里是操作的顺序。 请让我知道,如果我错了。 我会在我的例子中使用上面指定的configuration文件。 用户inputssh final 创build一个到bastion.com的ssh连接。 一个netcat隧道从bastion.com创build到final.com的22端口。 netcat的stdin连接到与bastion.com连接中获得的shell。 所以现在我们有一个从我们的系统连接到final.com。 这个连接的前半部分是从我们的系统到bastion.com的ssh连接。 这个连接的后半部分是从bastion.com到final.com的netcat隧道。 现在, ssh final命令将上述连接作为代理,并通过此现有连接来隧道传输数据。 另外我也想知道这个技术是否也被称为ssh堆栈 ? 增加了linebreaks

将端口转发到另一个Ip /端口

我最近发现,我的ISP禁用端口135.我有一台服务器和个人电脑在我的路由器后面。 我和一个朋友正在编写一个编程项目,由于这个阻塞的端口,正在运行一些sql问题。 为了能够访问所有的东西,我configuration了dynadns 个人计算机:192.168.1.100服务器计算机:192.168.1.110 有没有办法让我从端口135转发localhost traffice说端口8081,然后让我的服务器端口8081到135请求传入? 我已经听说了一些关于SSH隧道,但使用腻子login到我的本地机器ssh服务器运行转发端口似乎很奇怪。 任何build议将是非常有益的。 谢谢 编辑:我使用安装了dd-wrt的路由器,并安装了vpn插件。 我试图让VPN在我的Windows 2003计算机上工作,但是没有configurationGRE协议。 我将尝试使用我的路由器的vpn选项,并在今天晚些时候发布我的结果。

如何通过NAT服务器在VPC私有子网中通过SSH连接到ec2实例

我用一个公有子网和一个私有子网创build了一个VPC。 私有子网不能直接访问外部networking。 因此,在公有子网中有一个NAT服务器,用于将私有子网的所有出站stream量转发到外部networking。 目前,我可以从公有子网到私有子网,也可以从NAT到私有子网的SSH。 但是,我想要的是从任何机器(家用笔记本电脑,办公机器和移动)到私有子网中的实例的SSH。 我已经做了一些研究,我可以设置NAT框转发SSH到私有子网中的实例。 但是我没有这个运气。 任何人都可以列出我需要设置,使之成为可能。 命名是: 笔记本电脑(VPC之外的任何设备) NAT(公有子网中的NAT服务器) 目的地(我想要连接的私人子网中的服务器) 不确定以下是限制与否: “目的地”没有公共IP,只有一个子网ip,例如10.0.0.1“目的地”不能通过nat的公共连接到“nat”。 有几个“目标”服务器,我需要为每个服务器设置一个? 谢谢

我怎样才能得到开放的SSH隧道列表?

我怎样才能得到开放的SSH隧道列表? 我正在使用连接到FreeBSD服务器的Mac OS X客户端。 我试图查询客户端上的开放隧道。

为什么在使用端口转发时注销SSH会话挂起?

我使用dynamicSSH端口转发( -D )和正常的SSH端口转发( -L或-R ) -R很多不同的事情,包括为我的无线networkingstream量添加一层encryption。 我通常使用的命令如下所示: ssh -l raam -D 9000 my-linux-server.com 启动隧道后,我将Web浏览器configuration为使用端口为9000的127.0.0.1的SOCKS v5代理。现在,浏览器中的所有stream量(DNS除外)都通过SSH隧道传输。 当我准备closures隧道(例如,当我将笔记本电脑带到另一个地方时),我只需键入“ logout ”。 但是,SSH会话挂起,我必须按CTRL + C来获取我的本地提示。 为什么会发生这种情况,我该如何预防呢? (我的猜测是,我通过隧道打开的连接保持打开状态,我的本地SSH客户端正在等待它们closures,然后再给我提示,如果是这种情况,如何强制所有这些连接closures,米准备注销?)

使用单个端口的多个反向SSH隧道

我能够在一台服务器上使用一个端口接收来自多个远程系统的反向SSH连接: Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22 Remote B: ssh -fN -R5001:localhost:22 user@server-ip -p22 Remote C: ssh -fN -R5002:localhost:22 user@server-ip -p22 我可以根据需要从本地客户端访问这些系统: Access Remote A: ssh root@server-ip -p5000 Access Remote B: ssh root@server-ip -p5001 这需要转发服务器上每个远程系统的一个端口。 当100多个遥控器连接时,除了在服务器防火墙中打开100多个端口以外,还有其他的select,并将每个远程端口静态分配给上述端口? 我的目标是使多个遥控器按需创build隧道,在那里我可以查询谁连接。 我发现sslh是一个多路复用器,可以区分基于协议的单个端口上的stream量,但这只适用于不同的协议,例如。 SSL / SSH。 有一个解决scheme,允许单个端口上的多个隧道? 例: Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22 -identifier abc123 Remote B: […]

我需要一个SSH的反向代理解决scheme

嗨,这里是我有一个企业数据中心的一个项目的服务器的情况。 我在端口22上有一台对这台机器的SSH访问权限。有一些虚拟机在这台服务器上运行,然后在其他许多操作系统的工作背后。 现在,由于我在数据中心防火墙后面,所以我的主pipe问我是否可以做一些事情,让我可以让很多人直接访问这些虚拟机。 我知道如果我被允许获得22以外的端口的stream量,那么我可以做一个端口转发。 但是因为我不被允许,所以在这种情况下可以解决什么问题。 想要连接的人可能是完全的白痴。只要在他们的机器上打开putty,甚至可以filezilla,他们可能会很高兴。我已经configuration了一个Apache反向代理,用于将Internetstream量redirect到这些主机上的虚拟机。我不清楚至于SSH我能做些什么。所以在这种情况下,有什么等同于Apache反向代理可以做类似的工作的SSH。 我的手中没有防火墙或22以外的任何其他端口,事实上即使我请求他们不允许打开.2次SSH并不是我主pipe想要的东西。

在端口443上运行多个服务,通过HTTPS隧道SSH

情况:我想通过HTTPS隧道SSH会话。 我有一个非常严格的防火墙/代理,只允许HTTP,FTP和HTTPSstream量。 什么起作用:通过代理build立一个隧道到一个远程的linux系统,该系统的sshd在443端口监听 问题:我必须有一个运行在端口443的Web服务器(lighty)。到其他端口的HTTPSstream量被代理禁止。 到目前为止的想法:设置一个虚拟主机,并将所有传入请求代理到本地主机:(例如22) $HTTP["host"] == "tunnel.mylinux.box" { proxy.server = ( "" => (("host" => "127.0.0.1", "port" => 22)) ) } 不幸的是,这是行不通的。 我做错了什么,还是有一个原因,这是行不通的?

如何限制反向SSH调谐端口?

我们有一个公共服务器,它接受来自防火墙后面的多个客户端的SSH连接。 这些客户端中的每一个都使用从端口80的Web服务器的ssh -R命令到我们的公用服务器创build反向SSH隧道。 反向SSH隧道的目标端口(在客户端)是80,而源端口(在公共服务器端)取决于用户。 我们正在计划为每个用户维护一个端口地址的地图。 例如,客户端A将他们的Web服务器端口80隧道到我们的端口8000; 客户B从80到8001; 客户端C从80到8002。 Client A: ssh -R 8000:internal.webserver:80 clienta@publicserver Client B: ssh -R 8001:internal.webserver:80 clientb@publicserver Client C: ssh -R 8002:internal.webserver:80 clientc@publicserver 基本上,我们试图做的是绑定每个用户端口, 不允许他们隧道到任何其他端口。 如果我们通过ssh -L使用SSH的转发隧道function,我们可以通过使用permitopen=host:portconfiguration允许哪个端口通过隧道。 但是,反向SSH隧道没有等价物。 有没有限制每个用户反向隧道端口的方法?