运行OpenSuse 13.1,我可以通过SFTP访问服务器:
问题:朋友是否可以将另一台计算机隧道传输到我的机器上,以便他可以在我的计算机上使用我的SFTP客户端 这可能吗?
换句话说:我们有从工作站到服务器的SSH / SFTP访问的情况。 现在一个朋友住在其他地方应该使用这个访问,这只能从我的机器上运行。 注意服务器不是(!!)可以直接从他的工作站访问。
我们需要从他的计算机到我的SSH访问,以便他可以SSH到服务器的问题。
我怎样才能做到这一点? 为什么我们不能仅仅从#1的SSH到#2的控制台,然后在会话中的机器#2到控制台3的SSH? 这就是所谓的“跳蛙”
如果你的朋友可以ssh给你,他可以像这样隧道:
ssh -L 8022:<sftp-server-ip>:22 <your-workstation-ip>
有了这个ssh会话,你的朋友可以通过localhost:8022访问服务器localhost:8022是他们需要能够ssh到你的工作站,你需要在你的路由器上转发一个端口。
您可以先通过SSH连接到您的服务器,为您的朋友创build一个可远程访问的隧道。 例如:
ssh -g -L 10022:127.0.0.1:22 [your-server's-ip-address]
-g开关是使隧道可用于远程主机。 假设您的工作站上打开了端口10022,则可以使用以下命令连接到服务器:
ssh [your-workstation's-ip-address] -p 10022
请注意,像这样连接会混淆此连接的来源。 另外,任何知道这个通道的人都可以使用它,除非你的本地防火墙限制对端口10022的访问(在这个例子中)。