sshfs 通过两跳?

sshfs 通过两跳?

我想将远程位置的文件夹安装到我的 mac 上的 /mnt/volume,但该文件夹通常是通过登录服务器访问的[电子邮件受保护]使用 SSH 之类的(-A 是必要的,因为它对后续跃点使用相同的 SSH 密钥),然后在这台服务器上执行一次。我想将此服务器主目录中的一个文件夹安装到我的 mac 上。我该怎么做呢?ssh -A -Y -o [email protected]ssh -A -Y -o [email protected]

我已经验证我可以在服务器登录上安装一个文件夹,如下所示: 所以我的 sshfs 正在工作。sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa [email protected]:/home/users/myname /mnt/volume

我尝试过这个方法https://www.larkinweb.co.uk/computing/mounting_file_systems_over_two_ssh_hops.html 我在哪里 ,然后 但它回来了。ssh -f [email protected] -L 2223:server-main.com:22 -Nsudo sshfs -p 2223 [email protected]:/ /mnt/volumeremote host has disconnected

答案1

使用选项ssh_command

sshfs :/mnt/volume -o ssh_command='ssh userB@systemB -t ssh userC@systemC'

卸载:

fusermount -u /mnt/volume

答案2

在您引用的文章中有两个命令。首先,

$ ssh -f userB@systemB -L 2222:systemC:22 -N

在本地主机和 之间建立隧道systemB;向 发出的请求localhost:2222将转发到22上的端口systemC

因此,要安装/remote/path/(位于systemC) 上,localhost您必须连接到localhost:2222,如第二个命令所示:

$ sshfs -p 2222 userC@localhost:/remote/path/ /mnt/localpath/

但在你的问题中,你正在尝试连接到systemC:2223.
相反,它应该是:

$ ssh -f [email protected] -L 2223:server-main.com:22 -N
$ sudo sshfs -p 2223 myname@localhost:/ /mnt/volume

相关内容