如何以安全的方式使用Ssh上的Rsync?

rsync 是Linux环境下非常流行的同步工具。Rsync通信默认为明文。这使得rsync易受中间人攻击。如何使rsync与 ssh . 在本教程中,我们将探讨使用 ssh

null

检查Ssh连接

我们要做的第一件事是检查远程ssh服务。我们当然会使用 ssh 这个命令。在本例中,用户是 root 服务器名为 poftut2 .

$ ssh [email protected]

通过Ssh隧道将单个文件从本地复制到远程

第一个示例是关于通过ssh将本地单个本地文件复制到远程系统。我们将提供 -e ssh 参数以启用ssh tunelling。我们将复制名为 mydata.dat 到名为 poftut2 使用用户名 ismail 目录 /home/ismail/

$ rsync -e ssh mydata.dat [email protected]:/home/ismail/

启用基于PasswordlessKey的Ssh身份验证

为了使事情更简单和批量工作,我们应该设置基于ssh身份验证的无密码密钥。这是通过复制和设置远程系统的登录公钥来实现的。首先,我们将创建ssh-kek。

$ ssh-keygen

这将在中创建一个私有和相关的公钥对 ~/.ssh/ 目录。现在我们将使用以下命令设置基于密钥的身份验证。用户名将为 ismail 远程系统是 poftut2

$ ssh-copy-id [email protected]

通过Ssh隧道将单个文件从远程复制到本地

在本例中,我们将复制名为 asd.pub 到本地目录 /root/ . . 用于指定当前工作目录。本地文件将被命名为 asd.pub .

$ rsync -e ssh  [email protected]:/root/asd.pub .

从本地文件夹同步到远程文件夹

现在我们需要更多有用的例子。最常用的情况之一是将本地文件夹与远程文件夹同步。我们将通过ssh隧道从本地文件夹同步到远程文件夹。

$ rsync -e ssh /home/ismail/  [email protected]:/bak

从远程文件夹同步到本地文件夹

这个例子是上一个例子的相反版本。我们将从远程系统同步到本地系统。

$ rsync -e ssh   [email protected]:/bak /home/ismail/

指定不同的Ssh端口

Ssh使用TCP/22作为默认端口。但这在某些时候可能不一样。我们可能需要显式地指定远程ssh端口。我们可以用 -e 带的选项 ssh 命令如下。

$ rsync -e "ssh 2222"   [email protected]:/bak /home/ismail/

相关文章: 如何安装和管理服务器?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享