hugomg Asked: 2019-01-22 11:50:50 +0800 CST2019-01-22 11:50:50 +0800 CST 2019-01-22 11:50:50 +0800 CST 有没有办法将 sshfs 用于“两跳”的机器? 772 为了在两台 Linux 机器之间传输文件,我总是觉得使用图形文件管理器(如 Nautilus)更舒服,它提供了通过 SSH 连接到远程机器的选项。但是今天我需要将文件传输到我无法直接访问的机器上——我需要先通过 SSH 连接到某个服务器,然后再通过 SSH 连接到我的最终目的地。是否还有一种方法可以在这里进行 GUI 友好的文件传输,或者这次我应该回退到旧的命令行 scp 吗? ssh sshfs 1 个回答 Voted Best Answer A.B 2019-01-22T12:34:50+08:002019-01-22T12:34:50+08:00 假设中间主机允许端口转发,您可以使用命令行完成一半的工作,并像往常一样以图形方式完成。 sshfs -o ssh_command='ssh -J firstuser@firsthost' finaluser@finalhost:directory localdirectory 这将指示 sshfs 使用附加-J选项运行其 ssh 后端(它本身最终运行 sftp 子系统),相当于ProxyJump配置选项,它本身将透明地将 SSH 连接转发到目标。 这等效于添加 in $HOME/.ssh/config: Host finalhost ProxyJump firstuser@firsthost 并且只需运行sshfs finaluser@finalhost:directory localdirectory,否则您也可以将上述两行放在一个文件中并使用该文件的-F选项sshfs。 现在,您的目录localdirectory可用于 Nautilus 或任何其他工具,无论是否有 GUI(但通常仅限于运行 的用户sshfs,像往常一样)。 很有可能拥有此选项$HOME/.ssh/config将允许您的 GUI 工具像往常一样透明地工作以挂载目录,因此不再需要 CLI。我无法测试这个。
假设中间主机允许端口转发,您可以使用命令行完成一半的工作,并像往常一样以图形方式完成。
这将指示 sshfs 使用附加
-J
选项运行其 ssh 后端(它本身最终运行 sftp 子系统),相当于ProxyJump
配置选项,它本身将透明地将 SSH 连接转发到目标。这等效于添加 in
$HOME/.ssh/config
:并且只需运行
sshfs finaluser@finalhost:directory localdirectory
,否则您也可以将上述两行放在一个文件中并使用该文件的-F
选项sshfs
。现在,您的目录
localdirectory
可用于 Nautilus 或任何其他工具,无论是否有 GUI(但通常仅限于运行 的用户sshfs
,像往常一样)。很有可能拥有此选项
$HOME/.ssh/config
将允许您的 GUI 工具像往常一样透明地工作以挂载目录,因此不再需要 CLI。我无法测试这个。