使用 ssh 密钥 rsync 文件时需要第二次 Sudo

使用 ssh 密钥 rsync 文件时需要第二次 Sudo

我使用命令通过 rsync 和 ssh 密钥传输文件:

sudo rsync -P -e 'ssh -i <absolute path to keyfile>' <file> user@<server>

我需要第一个 sudo,因为我要复制的文件属于 root 或其他用户。过去几个月它运行良好,但大约两周前我收到了来自密钥文件的拒绝连接(它具有 600 个权限,但属于使用此命令的用户)。确切的错误消息是:

<IP address>
ssh: connect to host <IP address> port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.2]

我发现它现在可以在 ssh 命令前面使用第二个 sudo 了:

sudo rsync -P -e 'sudo ssh -i <absolute path to keyfile>' <file> user@<server>

但我不明白为什么突然间一切都变了,我找不到任何相关信息。为什么我突然需要第二个 sudo 才能使其工作?我的猜测是,尽管整个命令都使用 sudo 运行,但“ ”中的 ssh 命令无法访问密钥文件,但如前所述,它在大约两周前一直有效。到目前为止,我的目标是完全不使用 sudo,但现在我不确定如何实现这一点。

相关内容