题: 当我执行rsync时,它会在开始传输之前在远程服务器上询问我的密码。我想避免这种情况,并在没有密码的情况下执行rsync。您能用一个示例说明如何在Linux上不通过密码通过ssh设置rsync吗?
回答: 以下步骤说明了如何通过不设置ssh的方式设置rsync’要求输入密码。当您计划cron作业以使用rsync自动备份时,这很有用。
1.在ssh上测试rsync(使用密码):
执行rsync以确保它要求您在远程服务器上的帐户密码,然后将文件成功复制到远程服务器。
以下示例将本地文件夹/ home / ramesh同步到远程文件夹/ backup / ramesh(在192.168.200.10服务器上)。
我们在前15个中详细讨论了rsync rsync的例子 文章。
这应该询问您在远程服务器上的帐户密码。
rsync -avz -essh /home/ramesh/ [email protected]:/backup/ramesh/
2. ssh-keygen生成密钥。
现在设置ssh,使其不会’在执行ssh时要求输入密码。在本地服务器上使用ssh-keygen生成公用密钥和专用密钥。
$ ssh-keygen Enter passphrase (empty for no passphrase): Enter same passphrase again:
Note: 当它要求您输入密码时,只需按Enter键,并且在此处不输入任何密码。
3. ssh-copy-id将公钥复制到远程主机
使用ssh-copy-id将公用密钥复制到远程主机。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10
Note: 上面的操作将询问您在远程主机上的帐户密码,并将公钥自动复制到适当的位置。如果ssh-copy-id没有’为了您的工作,请使用我们前面讨论的方法 设置SSH密码少登录.
4.在没有密码的情况下通过ssh执行rsync
现在,您无需输入密码就可以ssh到远程主机。
ssh 192.168.200.10
再次执行rsync,这一次不应要求您输入任何密码。
rsync -avz -essh /home/ramesh/ [email protected]:/backup/ramesh/
如果要自动安排此rsync备份作业,请使用 cron 进行设置。
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
这非常有用,这是我的待办事项研究的问题之一。现在做!谢谢。