通过中间计算机挂载远程文件系统(sshfs)

时间:2013-11-13 10:02:09

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

情况:

  • 我在 machine1 工作,我有root权限。从 machine1 ,我可以通过ssh访问 machine2 (我是没有权限的用户)。
  • 无法直接从 machine1 访问
  • machine3 (也是没有权限的用户)。我需要使用 machine2 的ssh连接来访问 machine3
  • 简而言之: machine1 可以进入 machine2 ,但不能进入 machine3 machine2 可以插入 machine3

我想做什么:

  • 我想使用sshfs挂载 machine1 位于 machine3 上的本地(自有)目录。

并发症:

  • sshfs在 machine2 上无法使用。

如何做到这一点?

2 个答案:

答案 0 :(得分:8)

您可以使用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

答案 1 :(得分:1)

理论上,通过sshfs在机器2上安装机器3,然后将机器2的sshfs目录安装到机器1中。

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

所以从理论上讲,这应该有效(但要慢):

机2:

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

MACHINE1:

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