我有 3 台计算机。A、B 和 C。
A 是我现在所在的主机。B 是一台跳转主机,我可以通过它从 A 使用 SSH 访问计算机ssh -t B_host ssh C_host
C。
我想要做的是通过 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>
杰出的!