有没有办法使用 sftp 将远程文件系统上的文件复制到同一个文件系统?

有没有办法使用 sftp 将远程文件系统上的文件复制到同一个文件系统?

有没有办法使用 sftp 将远程文件系统上的文件复制到同一个文件系统?

这是什么意思 user@hostname:/path/file.txtuser@hostname:/path/copy_of_file.txt我正在做远程测试,需要在远程系统上复制一些大文件,而无需将文件镜像到测试系统或从测试系统镜像。

答案1

大多数 SFTP 服务器不支持远程文件的复制。

copy-fileSFTP 协议扩展。但只有少数 SFTP 服务器支持它。例如FTPD软件mod_sftp和 Bitvise WinSSHD。最广泛使用的 SFTP 服务器,OpenSSHcopy-data仅在最近才支持相关版本 9.0


通常,当您拥有 SFTP 访问权限时,您也拥有 SSH shell 访问权限。然后,您可以使用 shell 命令复制文件(就像cp在 *nix 中一样)。

答案2

不幸的是,答案是否定的:ftp/sftp 协议不允许卸载远程复制。

答案3

并不是真正“使用 sftp”,但是由于 sftp 使用 SSH,您不能只使用 ssh 登录远程服务器,并正常复制文件吗?

我会考虑的另一个替代方案是使用 sshfs,它允许您将 ssh 目录挂载为虚拟驱动器,并在其上使用 cp 之类的命令。我不确定性能如何,但值得一试。即使您的 shell 被禁用/bin/false,它也能正常工作,这非常方便。

答案4

所以我刚刚遇到了类似的问题,并在网上找到了您的答案。尽管这个帖子已经很老了,但我仍然想分享我的答案。

我也没有找到使用 boardtools 解决该问题的方法,但 sysax.com 上的一些第三方软件可以很好地解决这个问题。他们有一个自动化软件来创建脚本,可以处理 SFTP 和其他协议。

相关内容