Ubuntu 14.04 - rsync 破坏 SSH 配置/密钥?

Ubuntu 14.04 - rsync 破坏 SSH 配置/密钥?

我有两台 Ubuntu 14.04 服务器 S1(用户 root)和 S2(用户 dataman)。S1 负责处理文件上传并将备份传输到 S2。在 S1 上,我使用 PubKey 身份验证与 S2 进行无密码 rsync。

我使用 bash 脚本来简化传输(伪代码):

while true
do
    for each file/folder in mydir/*; do
        rsync -aPs "${file}" dataman@S2:"${REMOTE_DIR}"
sleep 1
done

现在我的结果真的很奇怪......

  1. 重新设置密钥(因为密钥或其他东西已损坏)
  2. 重新启动 S1 的传输 bash 守护进程(守护进程以 root 身份运行)
  3. 观察它是否成功同步一个文件
  4. 它获取另一个文件,调用 rsync,然后失败(无法 SSH)

我进入 S1,ssh dataman@S2但它要求输入密码。很奇怪……所以我进入 S2,看到在 authorized_keys 中我的公钥来自 S1。确实如此。我验证了 S1 和 S2 的 .ssh 文件夹的权限……一切正常。再次尝试从 S1 到 S2 进行 ssh……仍然提示输入密码。

当我只能通过 SSH 访问两台服务器时,我不确定如何调试这个问题。我会在 S2 上以调试方式运行 SSH,以查看为什么 S1(具有正确的公钥)无法正确进行身份验证,但我没有物理访问权限。

为什么 rsync 会影响任何 ssh 配置?

S2 上的 sshd_config:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  %h/.ssh/authorized_keys

相关内容