rsync 需要 -e ssh 吗?

rsync 需要 -e ssh 吗?

从服务器复制时我总是使用以下命令:

rsync --progress -avze ssh user@host:/path/to/files ./here

然而,我的一个朋友告诉我,我可以简单地这样做:

rsync --progress -avz user@host:/path/to/files ./here

所以问题是,如果你不需要-e ssh它为什么还在那里?

答案1

任何时候,如果您需要除用户和主机之外的 ssh 命令的其他选项,那么您需要 -e 标志。也许您正在连接的服务器有 ssh 在端口 2222 上监听。

rsync -e 'ssh -p 2222' /source usr@host:/dest

解决这个问题的另一种方法是使用 2 个文件。 /etc/ssh/ssh_config或者~/.ssh/config

配置文件使用与 相同的格式ssh_config。只是可以根据每个用户进行配置!

答案2

您不需要 -e ssh 即可使用 ssh。事实上,如果您将目标指定为 user@host:/path/to/files,则默认情况下会使用 ssh。它保留在 a) 中,出于兼容性原因;b) 极端情况下,您可能同时使用 rsyncd 和 ssh 主机。

答案3

-e如果您使用非默认私钥位置,即通过 指定私钥,您还需要-e 'ssh -i /path/to/private/key/file.pem'。就此而言,sshd 的非默认监听端口也是如此。基本上,-e如果仅使用ssh user@host不起作用,请使用。

答案4

READ IT -> i looked this konweledge and after many expirence i get aware

哇啊:

一个重要的想法是:rsync 使用 ssh 连接在 destiny 和 source 上准备文件列表“LOCAL”,就像他在机器上一样,

NFS 询问“网络”目的地和源之间的每一个文件,如果服务器距离较远,这会使速度变得非常慢。

与 nfs 文件相比,在两台服务器之间使用 rsync 只需要花费几毫秒的时间,

NFS 也通过数据中心的这个端口进行传输,比 22 端口的 ssh 更快

https://www.woktron.com/secure/knowledgebase/292/Copy-and-synchronize-backup-data-with-RSYNC-and-public-key-authentication.html

相关内容