【问题标题】:Mounting a remote file system (sshfs) through an intermediate machine通过中间机挂载远程文件系统(sshfs)
【发布时间】:2013-11-13 10:02:08
【问题描述】:

情况:

  • 我在 ma​​chine1 工作,我拥有 root 访问权限。从 ma​​chine1 我可以通过 ssh 访问 ma​​chine2(我是没有权限的用户)。
  • ma​​chine3(也是没有权限的用户)不能从 ma​​chine1 直接访问。我需要使用来自 ma​​chine2 的 ssh 连接来访问 ma​​chine3
  • 简而言之:ma​​chine1 可以通过 ssh 进入 ma​​chine2,但不能进入 ma​​chine3ma​​chine2 可以通过 ssh 连接到 ma​​chine3

我想做什么:

  • 我想使用 sshfs 在 ma​​chine1 上挂载一个位于 ma​​chine3 上的本地(自己的)目录。

并发症:

  • sshfs 在 ma​​chine2 上不可用。

如何做到这一点?

【问题讨论】:

    标签: linux ssh filesystems sshfs remote-file-inclusion


    【解决方案1】:

    您可以使用 ssh 通过 machine2 将端口 22 从 machine3 转发到 machine1,例如

    user1@machine1:$ ssh -L 2222:machine3:22 user2@machine2
    

    然后在 machine1 上配置 sshfs 以使用 localhost:2222 端口(在第二个终端选项卡中):

    user1@machine1:$ sshfs user3@localhost:/some/machine3/dir /some/local/dir -p 2222
    

    【讨论】:

    • @Tomek Rękawek:不错。
    【解决方案2】:

    理论上,通过 sshfs 将机器 3 挂载到机器 2 上,然后将机器 2 的 sshfs 目录挂载到机器 1。

    作为无特权用户,您只能在主目录中创建文件夹。

    所以理论上,这应该可行(但速度很慢):

    机器2:

    mkdir /home/<username>/sshfs
    sshfs <machine3_username>@machine3:/ /home/<username>/sshfs
    

    机器1:

    mkdir -p /mnt/sshfs
    sshfs <machine2_username>@machine2:/home/<username>/sshfs /mnt/sshfs
    

    【讨论】:

    • 我忘了说 sshfs 在 machine2 上不可用。
    • @Miguel:那么 Tomek Rękawek 的回答应该有效。如果您使用带有私有公钥而不是密码的 ssh,您可能必须将 id_rsa.pub & private 复制到 machine1 并在那里创建一个用户帐户。
    猜你喜欢
    • 2010-11-11
    • 2012-08-12
    • 2022-01-21
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    相关资源
    最近更新 更多