rysnc 如何通过 ssh 工作?

rysnc 如何通过 ssh 工作?

当通过 ssh 调用 rsync 程序时,rsync 和 ssh 之间的交互是什么样的? rsync 使用 ssh 的什么功能?我对 rsync 和 ssh 之间的交互感兴趣。

答案1

ssh提供从运行您的本地系统rsync到远程服务器上运行的另一个实例的连接流。本地rsync启动它作为连接过程的一部分ssh- 它是不是该实例rsync可能作为守护程序在该远程服务器上运行。


什么是SSH 流

一个SSH 流是您ssh连接远程系统时使用的。您可能更愿意称其为SSH 会话。没关系。例如,会将您连接到该远程系统并为您提供交互式会话。您在本地输入的任何内容都将被远程接收和操作,远程生成的任何内容都将在本地呈现给您。ssh [email protected]

同样,将设置一个连接以在远程系统上运行,就像您在本地使用它一样。 (该标志告诉您确保远程命令是在伪终端上运行;否则它将跳过该复杂层。)ssh -t [email protected] vi /etc/hostsvi /etc/hosts-tsshvi

现在,对于rsync,连接是由本地实例使用类似 的内容建立的。这允许本地设备通过连接与远程设备进行通信,就像您用来访问同一远程服务器一样。的远程实例知道它是一个服务器,因为它在本地实例启动时提供了标志。ssh [email protected] rsync --server -nlogDtpre.iLsf {local_path} {remote_path}rsyncrsyncrsync

您可以通过运行类似的操作来查看如何rsync远程调用。ssh [email protected] 'ps -ef | grep [r]sync'rsync

为什么不直接rsync对话呢ssh

使用的好处ssh是双重的

  1. 这是一个众所周知的协议,身份验证和登录远程系统的机制(被那些需要理解它的人)很好地理解并且值得信赖
  2. 它提供了一个安全且加密的通道,任何敏感数据都可以安全地通过该通道。如果没有这一层,rsync要么必须实现自己的加密,要么忽略这个问题。在当今互联网连接的世界中,两者都是危险的。

相关内容