Articles of ssh tunnel

如何获得与使用的用户名连接的SSH隧道列表?

使用ssh -D PORT username@Server从桌面(D)到服务器(S)build立连接。 从服务器上,与who连接的ssh用户列表可以获得,但ssh隧道没有列在who或w 。 另外,用netstat -lnpt | grep ssh netstat -lnpt | grep ssh ,连接的用户没有列出。 用其他命令,比如ps aux | grep ssh ps aux | grep ssh或lsof -i -n | egrep '\<ssh\>' lsof -i -n | egrep '\<ssh\>' ,更多的信息被检索,看起来好像更多的用户连接。 有一个(什么)可靠的方式获得与S上各自的用户ssh隧道的名单,理想地包括D的IP地址?

SSH远程转发两跳

我怎样才能让本地机器以外的其他机器使用由ssh转发或代理的端口? 例如连接到机器B的机器A(工作) ssh -L8080:some-service:8080 user@machine-B 机器C通过机器A的转发端口连接到机器B(不工作) curl machine-A:8080 我明白了 curl: (7) Failed to connect to machine-A port 8080: Connection refused 机器A通过机器A的转发端口连接到机器B(工作) curl 127.0.0.1:8080

HTTP服务器通过反向ssh隧道

我有基于Linux的设备(让我们说一个树莓派),承载一个HTTP服务器。 该设备定期更换WiFi接入点,并且由于NAT和/或防火墙而经常不能公开访问。 我想使用公共可用的服务器(下面的rpi.example.com )设置一个反向ssh隧道,使得rpi behind NAT rpi.example.com在启动时build立到rpi.example.com的隧道。 rpi.example.com会将任何HTTP请求转发到rpi behind NAT的rpi behind NAT 。 序列图: HTTP client rpi.example.com rpi behind NAT + + + | | ssh -R | | | <—————–+ | GET /temp | | +—————–> | | | +—————–> | | | [SSH tunnel] | | | <—————–| | HTTP/1.1 200 OK | […]

经纪人直接连接

是否可以使用具有静态IP地址的服务器来代理每个NAT后面的两个客户端之间的直接连接? 我已经使用autossh和端口转发通过服务器build立连接,但我认为这意味着客户端之间的任何交互消耗服务器资源(转发数据包和带宽的计算开销)。 我无法testing自己,因为我目前无法访问其中一个客户端。 我想象中发生的事情 (我拥有A,B和服务器,所以无论客户端首先连接哪一个,都可以等到另一个连接): client A —–> server <—– client B 我认为反向隧道方法是这样做的: A sends packet —–> server, server receives packet, server sends packet —–> B, B receives packet 反之亦然。 我想要的是: A connects —–> server (connection stays open until B connects) B connects —–> server (server tells B about A) A and B can communicate […]

使用ssh从远程服务器发送隧道请求

我正在寻找转发远程计算机上的端口8003的请求到我的本地主机端口8080

通过httpencryption数据而不使用SSL

有一个我正在访问的Web服务,不幸的是,我不能在这里粘贴这个URI,因为它在一个内部networking中,在这里我们不会有任何好处。 Web服务工作的很好,但问题是它的维护人员只支持http而无意实现https。 所以,我的问题是…有没有办法强制encryption而不能使用https? 我想象一个SSH隧道将是相当有效的,但我不知道如何在这种情况下实施它。 有任何想法吗?

只有ssh端口转发不可用(本地)IP而是本地主机

我有一个远程机器在example.com sshd监听端口1234和Web服务端口5678 。 由于某些原因,我想将http请求“本地化”到该Web服务。 当我执行 ssh -L 4321:example.com:5678 [email protected] -p 1234 -N 在本地计算机( 10.0.0.1 )上,我可以浏览到以下url来查看Web服务: http://localhost:4321 但是,如果我将浏览器指向: http://10.0.0.1:4321 我得到错误(错误102:net :: ERR_CONNECTION_REFUSED如果有任何区别)。 有没有办法让ip address而不是localhost的SSH端口转发? 我需要它为了使LAN上的其他计算机可以使用远程服务(10.0.0.0/24)。

如何从一台计算机到另一台计算机build立SSH隧道并转发其stream量?

我有两台电脑都运行Linux。 我们称之为计算机A和计算机B.计算机A的IP为192.168.1.10,B的为192.168.1.11。 在计算机B上安装了JBoss 7 AS,其pipe理界面只能在本地访问( http://127.0.0.1:9990 ),我想从计算机A访问它。 Therfor我想从计算机A通过SSH隧道到计算机B,并将所有通信转发到B上打开的另一个端口,比方说,我将在端口8081 B上的HTTP请求转发到127.0.0.1:9990。 我怎样才能build立从电脑A到电脑B的隧道? 我遵循这个指南,但失败了: http : //www.revsys.com/writings/quicktips/ssh-tunnel.html

SSH隧道或反向隧道

我试图build立一个SSH隧道来允许VNC / ARD连接(端口5900和3389)。 但是我不确定某件事情: 假设机器A的 IP为192.168.103.1,并且在端口5900和3389上运行服务。 我想SSH到IP 192.168.103.254的服务器 。 机器B 192.168.103.2希望通过使用服务器 192.168.103.254和不同端口(比如说6001和4001)上的隧道连接到机器A, 所以,设置将如下所示: 机器B 192.168.103.2 – > VNC到服务器 192.168.103.254:6001(服务器redirect – > 192.168.103.1:5900) 我知道一些关于SSH隧道和反向SSH隧道,但我不确定我需要哪个命令。 请注意: 客户端计算机必须连接到服务器(由于客户端每次都有不同的IP地址,所以不能使用其他方式) 我试过的东西: ssh -f [email protected] -L 6001:localhost:5900 -N 此命令成功,但是当我尝试连接到它,我得到一个连接拒绝错误: Tims-Macbook-Pro:~ Tim$ telnet server.hostname.net 6001 Trying 192.168.103.254… telnet: connect to address 192.168.103.254: Connection refused telnet: Unable to connect to remote host 我也试过这个 […]

如何通过公共访问私人主机

我有许多AWS EC2实例,其中一个具有公共IP地址,其余的没有公共IP地址。 我已经使用私钥/公钥对设置了对公用机器的SSH访问权限。 我现在需要通过这个公共实例访问networking的其余部分。 我被告知,如果我从密钥对创build一个.pem文件,并将其安装在公共实例上,我将能够首先SSH进入公共实例,并从那里,SSH到其他。 这感觉不对 将我的私钥复制到另一个实例并不安全。 是否有可能build立一个隧道(不pipe它是什么,我不是一个系统pipe理员)从我的本地机器有密钥对目标实例?