通过 jumphost 进行 SSHFS

通过 jumphost 进行 SSHFS

我有 3 台计算机。A、B 和 C。

A 是我现在所在的主机。B 是一台跳转主机,我可以通过它从 A 使用 SSH 访问计算机ssh -t B_host ssh C_hostC。

我想要做的是通过 SSHFS 命令将 C 的文件系统挂载到 A,但简单浏览一下手册页并没有显示任何链接命令。

这可能吗?

答案1

如果需要,也可以通过以下方式直接在命令行上完成:

sshfs -o ssh_command="ssh -J B_host" C_host:/<path> <mountpoint> 

谢谢这个Unix和Linux答案了解相关信息。不过,这个 ServerFault 问题目前是 Google 搜索结果中sshfs 跳转主机,因此也将信息复制到这里,希望能为未来的搜索者节省一些时间。

答案2

较早答案中提到的机制的更简单版本现已发布。仍然使用 ~/.ssh/config,这将使用更简单的语法实现相同的功能:

Host <host alias>
    User <host_username>
    HostName <host_name>
    ProxyJump [user@]<jump host>[:port]

答案3

解决类似的基于 SFTP/SCP 的问题这里您必须按如下方式修改 SSH 配置文件(位于~/.ssh/config

    Host B
        HostName <B_host>
        User <B_user>
        ForwardAgent yes

    Host C
        User <C_user>
        HostName <C_host>
        ProxyCommand ssh B -W %h:%p

然后,当您从 A 运行以下命令时,它就“正常工作”了:

 sshfs hostC:/<path to mount on C> <path to mount on A>

杰出的!

相关内容