我们希望通过OpenSSH在一些Linux主机之间发送文件,但我们不希望客户端能够列出/检索/修改服务器上的现有文件。
换句话说,它应该是一个“仅上载”服务在ssh协议上工作。 当然,这意味着客户端总是会有一种方法来知道在服务器上是否已经有一个给定名字的文件,只要文件内容不能被检索就没关系。
我们怎么能实现这一点,可能使用已经build立的软件在普通分布?
我们当前的部分解决scheme利用rsync --ignore-existing
并在服务器端强制命令行使用(不可写) ~/.ssh/authorized_keys
如下所示:
command="rsync --server -e.Ls --ignore-existing . ." ssh-ed25519 ABCDEDFGfoobarbaz user@host
rsync -r --ignore-existing <single_file> user@server:
而不是rsync -r --ignore-existing <whole_directory> user@server:
--bwlimit
选项 所以我们只有一半,这不是一个实际的,完整的解决scheme。