有没有办法通过网关连接到本地电脑而无需网关穿透?

有没有办法通过网关连接到本地电脑而无需网关穿透?

当我在工作时我可以使用使用 nautilus 来浏览文件本地网络的其他计算机上。Nautilus 使用以下方式挂载其他计算机的文件系统:ssh(通过 gvfs 的 sftp)。然而当我在家的时候需要连接到网关(通过 ssh)出于安全原因,我可以使用 ssh 连接到本地计算机。这会破坏 Nautilus 浏览文件的能力因为我只能看到网关,并且在 nautilus 中没有可以使用的直接 sftp 链接。

  • 如何使用 nautilus 在家里浏览我工作本地网络上的机器上的文件?

  • 我需要如何配置网关才能实现这一点(如果可能的话)?

更糟糕的是,我在网关上只有用户(而不是 root)权限。

我强烈怀疑除了让我们的系统管理员安装 VPN 之外没有其他解决方案,但 AU 过去曾用巧妙的解决方案令我感到惊讶。

编辑:

有人建议nautilus在我的办公电脑上运行它。我使用 X-forwading: 运行了它ssh -t -C -X gateway ssh -t -X me@workpc nautilus。不幸的是,我收到一条错误消息,提示“Nautilus 无法处理 sftp 位置。”

Nautilus 关于 X-Forwading 的错误消息

即使 x-forwarding 正常工作,它也存在明显的缺点:

  • 响应缓慢的 GUI
  • 无需将文件拖放到我的本地(=家庭)机器上

所以仍在寻找更好的解决方案。 有没有 ssh 转发之类的东西,这样网关就可以将所有 ssh 请求推送到我的工作电脑?

答案1

在您的网关中,安装您的工作电脑gvfs-mount sftp://username@workpc/

在家里的 PC 上,使用 Nautilus 连接到您的网关并访问~/.gvfs它:sftp://username@gateway/home/username/.gvfs在位置栏中输入,你会看到你的工作电脑安装在那里。

答案2

我能想到两种可能的解决方案。每种方案都涉及在远程计算机(而不是您的家用计算机)上运行 nautilus。

第一的。如果您的网关盒可以远程运行 nautilus,请使用以下命令:

ssh -X gateway.company.com nautilus

这将在网关中启动 nautilus(假设已安装)并将其显示在您的家用计算机上。然后,如果您知道局域网中其他计算机的本地主机名或 IP 地址,您就可以使用 sftp 浏览这些计算机。

第二如果网关没有安装 nautilus,或者由于某种原因,nautilus 中的 sftp 在网关上运行时不起作用,您可以尝试在其中一台目标机器上运行 nautilus,如下所示:

ssh -t -X gateway.company.com ssh -X computer.with.files.to.browse.local nautilus

这将在最终远程目的地“computer.with.files.to.browse.local”中打开nautilus并通过网关将其显示在您的家用计算机上。

详细信息请见:https://serverfault.com/questions/149846/access-remote-server-with-nautilus-through-double-ssh-tunnel

希望这可以帮助。

相关内容