如果使用 root 进行远程登录,rsync 如何因缺少权限而失败?

Kar*_*ter 6 linux ssh rsync permissions

我想不出任何原因为什么传输一个简单的文件rsync -e 'ssh -p 19' -vvv /path/to/file root@192.168.179.3:失败

opening connection using: ssh -p 19 -l root 192.168.179.3 rsync --server -vvve.Lsfx . .  (11 args)
Permission denied, please try again.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
[sender] _exit_cleanup(code=12, file=io.c, line=226): about to call exit(12)
Run Code Online (Sandbox Code Playgroud)

ssh登录ssh -p 19 root@192.168.179.3工作正常时。cat [/path/to/file]对于本地文件成功,权限是664,所有者是调用rsync. 该文件位于/tmp/.

-e参数中指定绝对路径,即rsync -e '/usr/bin/ssh -p 19' -vvv /path/to/file root@192.168.179.3:,没有帮助。

rsync在 Ubuntu 15.10 上使用3.1.1。

Kar*_*ter 21

另一种可能的解释sshrsync给予Permission denied, please try again.。原因是遥控器rsync位于不寻常的位置,必须--rsync-path在发送方指定(参见/sf/ask/508272061/ -protocol-data-stream-code-12-at-io-c#comment22193023_12286054)。

亲爱的ssh开发者,请停止这种废话!触发器Permission denied, please try again.不断增长的错误原因的数量,请在您的心中找到它,为用户提供任何可用的反馈 - 到目前为止您没有在这个方向上实现任何东西,我现在使用ssh多年并遇到了几十个非常明确且可解释的失败原因,最终以Permission denied, please try again.. 没有人能理解这一点!

操作系统产生此消息并且无法更改的事实并不意味着什么。应对您的软件向用户提供的反馈负责,如果Permission denied, please try again.出于非常容易沟通的失败原因而给出上述反馈,则说明某些事情是非常错误的 - 只需打印即可remote binary not found, please use --rsync-path on the sender side!看,这并没有那么难。

  • 并不是远程 rsync 位于不寻常的位置。这是它与本地位置不同的位置。在我的例子中,远程在 /usr/bin 中,这并不罕见,本地在 /opt/usr/bin 中。 (4认同)