Questions tagged «ssh-tunnel»

SSH隧道允许通过SSH协议转发任何流量。这用于保护传输或允许在存在网络限制的地方交换数据。

7
如何使ssh隧道向公众开放?
好了,回到这个问题,我正在运行命令 ssh -R 8080:localhost:80 -N root@example.com 在Mac上。然而,正在建立隧道的港口并未公开运作。我正在运行一个这样的命令,以便可以在远程计算机上打开本地端口。在远程计算机上的localhost上打开端口时,它确实起作用,但是当我尝试从本地计算机访问远程计算机的公用IP地址时,该端口似乎没有打开。如何将隧道在IP上公开供任何人访问? 编辑:似乎远程方仅在本地主机上绑定,而不是绑定到所有接口。 编辑2:客户端是Mac OS X 10.6,服务器是Linux Mint,但它们都是OpenSSH。
174 ssh  ip  openssh  ssh-tunnel 

9
列出打开的SSH隧道
我在Linux机器上使用了很多SSH隧道(用于隧道到数据库,Web服务器等),并且通过Shell脚本查看当前打开的隧道列表非常方便。 我可以通过以下方式在netstat上通过grep识别本地连接: netstat -n --protocol inet | grep ':22' 但这不会向我显示其连接到的远程端口(并且显然包括未建立隧道的标准SSH连接) 更新:答案很好,但没有显示我连接的远程端口。例如,我经常有一条通往mysql的隧道,比如说localhost:3308映射到服务器上的:3306。通常,我可以通过选择的本地端口进行猜测,但是可以同时访问这两个端口会很不错。 有任何想法吗?
67 ssh  shell  ssh-tunnel 


5
SSH访问NAT路由器后面的办公室主机
我想从家里访问我的办公室linux主机的ssh端口。不幸的是,主机位于NAT路由器后面。因此,该IP地址不是公开可用的。但是,可以访问另一个Internet主机(服务器),不幸的是,它只能是非root用户访问。经过一段时间的搜索,我找不到合适的解决方案。 设置如下: NAT(IP非公开)后面的Office PC(Linux,root用户访问权限)但具有完全Internet访问权限。 服务器PC(Linux,无root访问权限)静态和公用IP以及完整的Internet访问权限。 NAT(IP不公开)后面的家用PC(Linux,root用户访问权限),但可以完全访问Internet。 可能的连接:Office PC->服务器<-家用PC 不可能:Office PC <-X- Server -X->家用PC 家用PC或服务器都无法启动对Office PC的访问。但是Office PC和家用PC都可以启动与服务器的连接。 无法使用反向SSH隧道:我尝试了一种称为反向ssh-tunnel的方法。不幸的是,这需要将服务器上的GatewayPorts在/ etc / ssh / sshd_config中设置为“ yes”,在该位置我没有root访问权限。 原则上应该有可能: 0)在服务器上,我启动一个用户空间程序,该程序在2个端口上侦听(1个传入端口,1个传出端口) 1)在我的办公室PC上,我运行另一个程序,该程序使TCP连接保持开放到服务器上的传出端口。 2)从家里我连接到服务器的传入端口。 那里应该有一个标准的解决方案。 解决此问题的最快,最清洁的解决方案是什么? 坦率

8
从Windows自动进行SSH隧道
我试图将一台Windows计算机设置为始终有两个通往我的Linux服务器的SSH隧道。 当前,我正在使用PuTTY打开两个SSH隧道:我在PuTTY中登录到服务器,将其最小化,并且永不动手。除SSH连接断开时,此方法工作良好:PuTTY显示错误消息,并且我需要手动关闭错误并重新连接到服务器。 我想要做的是拥有一个可以设置两个SSH隧道并可以自动重新连接的应用程序,而无需手动执行任何操作,包括输入密码。我通过两个隧道发送的数据是VNC连接,因此我经常不在机器上清除错误并输入密码。这两个隧道是一个本地隧道和一个远程隧道。 (是的,我知道自动登录到SSH的危险。我计划让一个没有特权的专门用户并且不允许以交互方式登录并使用它。) 我确实发现了以下问题:如何可靠地保持SSH隧道打开?,但这使用Linux作为SSH客户端,而我使用Windows。

4
SSH反向袜子通道
ssh -D 可以在本地计算机上建立一个袜子端口,该端口将流量传递到远程,然后传递到其他地方。 ssh -L port:host:hostport,侦听本地计算机上的端口,从远程计算机的角度将流量传递到“ host:hostport”。 ssh -R port:host:hostport是的对应项ssh -L,它侦听远程计算机上的端口,并从本地计算机的角度将流量传递到“ host:hostport”。 但是,与之相对应的是什么ssh -D,即如何在远程计算机上打开一个袜子端口,该端口会将流量传递到本地,然后传递到其他地方?

2
SSH作为通过多个主机的袜子代理
可以使用SSH实现以下功能。 涉及三台机器: A. My local machine at home B. The SSH gateway server at school C. A workstation in a lab, only reachable through B 我想设置一个SOCKS代理。我希望能够像在实验室一样在家中本地计算机上冲浪。这是由于某些站点只能通过学校的公共IP访问。 因此,我想在主机C上运行SOCKS代理。但是我无法使其在主机A上运行。 我连接到网关,然后从网关连接到工作站。但是我无法使网关将流量正确地从代理传输到代理。 我怎样才能做到这一点?

3
SSH隧道或连接的安全性如何?
我经常建议人们使用SSH隧道来保护打开的WIFI或其他不安全情况下的浏览安全。 在我建议使用SSH隧道之后,最近有一个朋友问我SSH隧道的安全性。我绊了一下,并重申了“它的安全性”。 即使他对这个答案感到满意,但还是让我有些困惑,我无法完全回答。 所以问题就出来了: “ SSH隧道的安全性如何?”

2
通过隧道使用id_rsa设置ssh配置文件
我一直在努力建立有效的配置以打开与第二台计算机的连接,并通过另一台计算机,并使用id_rsa(向我请求密码)连接到第三台计算机。 我已经在另一个论坛上提出了这个问题,但是我没有收到任何可以被认为非常有帮助的答案。 可以更好地描述的问题如下: Local machine: user1@localhost Intermediary machine: user1@inter Remote target: user2@final 我可以使用伪tty进行整个连接: ssh -t inter ssh user2@final (这将询问我机器“ inter”中拥有的id_rsa文件的密码) 但是,为了加快速度,我想设置.ssh / config文件,以便可以使用以下命令简单地连接到计算机“ final”: ssh final 到目前为止,我无法执行的操作是在.ssh / config文件中: Host inter User user1 HostName inter.com IdentityFile ~/.ssh/id_rsa Host final User user2 HostName final.com IdentityFile ~/.ssh/id_rsa_2 ProxyCommand ssh inter nc %h …
17 linux  ssh  ssh-tunnel  rsa 

2
如何确定在服务器上为动态绑定的openssh反向隧道分配的端口?
在最新版本的OpenSSH上创建反向隧道时,可以将远程端口0绑定为任何可用端口: -R [bind_address:] port:host:hostport ... 如果port参数为0,则监听端口将在服务器上动态分配,并在运行时报告给客户端。 openssh ssh客户端手册 我的问题是如何(自动)确定服务器上的此端口分配。将其报告给运行ssh客户端的主机似乎没有帮助,但没有报告给目标,后者将要建立与此端口的连接以访问客户端上的服务。 我可以想到的两个类似选项正在运行 # netstat -ntlp 在服务器上,并通过sshd或查看以下命令的输出来查找绑定在127.0.0.1上的可疑端口 # lsof -p $PPID | grep TCP | grep LISTEN 但是从自动化的角度来看,这些都不是令人满意的,并且如果创建了多个这样的隧道,则无法将动态端口绑定回原始服务端口。 要有效地在sshd服务器端获取活动隧道(本地和远程端口号)的列表(例如等效于SSH_CONNECTION环境变量),但对于活动隧道,我缺少什么吗? 在某些情况下,我尝试创建到主机的潜在同时反向隧道数量,并在许多不同的主机上隧道返回相同的端口号。让TCP堆栈自动管理端口池似乎是最有效的方法。

4
我如何通过中间服务器SCP文件?
我在WinXP(带有bash shell)上使用Ccygwin。我想将文件从本地主机SCP传输到远程计算机host2。但是,我只能SSH到中间计算机host1,然后再从那里SSH到host2。(请注意,我无法从本地主机访问host2)。 我以为隧道是我的答案,但是当我尝试建立隧道时 ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2' 但是在键入此命令并按Enter键后,系统只是挂起。什么是建立隧道然后再向SCP归档的正确方法? 谢谢, -
15 ssh  scp  ssh-tunnel 


2
相当于Windows服务器的ssh端口隧道?
我的家是Linux服务器,在该服务器中SSH始终可以用于限制过于严格的防火墙。但是,在工作中,我们处理的所有服务器都是基于Windows的。 我需要连接到Windows 2008服务器上运行的SQL Server 2000实例。该服务器位于防火墙后面,该防火墙似乎会阻止除远程桌面以外的所有传入端口。假设有一个VPN,但是由于某种原因,它已经消失了,并根据我们最终能够访问远程桌面的速度来判断,可能要过几周才能在防火墙或用户中放置异常已添加到VPN。 所以现在我正在寻找一种快速的解决方案。解决它的最好方法是什么? 另外,我们用于连接服务器的计算机运行Windows7。并且我们对服务器具有管理员访问权限,但我们不希望永久安装任何东西。

2
SSH隧道连接到家庭网络,并访问路由器Web界面
我正在尝试使用来自远程位置的ssh隧道连接到我的家庭网络并访问路由器Web界面。 我可以通过SSH访问家庭网络,并且可以连接到网关计算机“ Lounge”。(例如192.168.1.100) 我需要通过“ Lounge”将Web请求代理到本地网络上的路由器(192.168.1.1),以便可以从远程位置查看它吗? 如果有所不同,则说明“休息室”计算机正在运行OSX。 我想要一个ssh /命令行解决方案,谢谢。
11 macos  ssh  ssh-tunnel 

4
查找原始计算机(ssh)的IP或主机名
我不断地从不同的物理位置(以及不同的物理计算机)连接到许多计算机。大多数操作都是通过ssh完成的,有时需要一两台网关计算机(我通过ProxyCommandin 调用~/.ssh/config)。我想知道是否有一种方法可以识别在远端调用初始连接(即我正在使用的计算机)的计算机的IP或主机名? 我不想发送环境变量,因为有些机器我没有root可以设置PermitUserEnvironment。 该$SSH_CLIENT环境变量是用于直接连接有用,但只列出最近的网关。 我目前对解决方案的想法是抓取$SSH_CLIENT,ssh到它,找到该机器的$SSH_CLIENT值并重复执行直到不存在为止。然后获取主机名并以某种方式将其拉回。 不过,这似乎有点骇人听闻。有谁有更好的方法? 我主要是在bash shell中工作,但是对于不使用它的任何建议我也很满意。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.