我正在尝试使用 ssh (或 NFS)将我的 Linux 系统(笔记本电脑上的 arch linux)备份到同一网络上的远程计算机。我广泛使用 rsync 通过 ssh 和 NFS 将我的 /home 目录备份到远程计算机,没有任何问题。我想要做的是在脚本中在笔记本电脑上运行 rsync 命令,并将 / 的所有内容(当然不包括我已经弄清楚的一些目录)复制到远程计算机。
我遇到的问题是关于权限的。我在 ssh 服务器(openssh,在 ubuntu 服务器 12.04 计算机上运行)上禁用了 root 登录,并禁用了密码身份验证并启用 rsa 密钥登录,以便我可以在笔记本电脑上使用 cron 自动运行备份脚本。现在,为了能够复制 /*(在笔记本电脑上)下的所有系统文件,我需要以 root 身份运行 rsync。这样做会带来一个问题,因为我无法以 root 身份访问 ssh 服务器。如果我尝试通过 NFS 执行此操作,则会遇到另一个权限问题,因为不允许 root 用户像我的常规用户一样访问 NFS 安装。
我写在这里是为了获得有关如何解决此问题的建议。我更喜欢通过 ssh 来完成此操作,因为它通常对我来说工作得更快,但如果没有其他方法可以工作,我愿意使用 NFS 甚至 samba(还没有尝试过)。
答案1
好吧,问题是你作为 root 的行为并且 root 没有密钥。
sudo su
ssh-keygen
然后将密钥复制到您的备份服务器。
最后,
rsync [在此处粘贴您的选项] / user@backup-server:/path/to/backups