SSH 备份服务器 - 连接到多个无密码远程服务器

SSH 备份服务器 - 连接到多个无密码远程服务器

我想知道配置无密码 ssh 密钥的步骤是什么,以便我可以连接并从多个远程服务器提取数据。我是否可以这样做:

备份机:

ssh-keygen -t rsa
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server1
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server2
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server3

并在每个远程服务器{1-3}上执行:

PermitRootLogin forced-commands-only

并将rsync数据从备份服务器拉到每个远程服务器。

这些是正确的步骤吗?

谢谢

答案1

  1. 以 root 身份运行生成命令(通过sudo -ssudo -i),这样密钥就不会在你的主目录中
  2. 如果您没有交互式 root 登录(例如在基于 Debian 的系统上),则无法以 root 身份登录到您的服务器;请以您的用户身份执行此操作,假设您在这些机器上有登录名。然后登录ssh并将authorized_keys 文件复制到每台服务器上并设置正确的权限。scp/root/.ssh/
  3. from="w.x.y.z"如果您的备份机器上有静态 IP,请在您的 authorized_keys 文件中使用一个节。PermitRootLogin forced-commands-only实际上并不比 好多少without-password

答案2

是的,你可以这样做。我写了一个博客文章不久前我曾讨论过这个问题(它基于设置 dirvish,这是一个基于 rsync 的备份系统)。在客户端上设置密钥后,您可以运行备份,查看它运行的命令,然后设置强制命令。

相关内容