【发布时间】:2014-11-30 04:39:02
【问题描述】:
我正在使用 rsync 将我们的服务器备份到另一个在我们的 LAN 上使用命令运行 rsync 守护程序的服务器
rsync -av /volume1/Public/root@192.168.2.20:/shares/Backup/Public/
除了需要手动输入密码外,它工作得很好,所以我想用一个密钥对来自动化它。运行 ssh-keygen 我得到下面我点击返回 3 次的地方
ssh-keygen 生成公钥/私钥 rsa 密钥对。 输入保存密钥的文件 (/root/.ssh/id_rsa): 输入密码(无密码为空): 再次输入相同的密码: 您的标识已保存在 /root/.ssh/id_rsa 中。 您的公钥已保存在 /root/.ssh/id_rsa.pub 中。
ssh-copy-id 脚本不在我们的系统上,所以我使用下面的行将密码文件复制到备份目标服务器。我检查并正确复制了
> cat /root/.ssh/id_rsa.pub | ssh root@192.168.2.20 "cat >> /root/.ssh/authorized_keys"
作为测试,我 ssh 到目标服务器以确保不再有密码提示,但我仍然得到一个?
DiskStation> ssh 192.168.2.20
root@192.168.2.20's password:
我在 unix 方面并不强,所以可能会遗漏一些明显的东西。请给点建议?
___ 编辑____
随后将以下设置添加到 sshd_config 但仍然没有运气:
RSAAuthentication yes
PubkeyAuthentication yes
不确定是否重要,但将公钥作为 WD Sharespace 托管的机器是 Debian Lenny 构建的。
【问题讨论】:
-
你的 sshd 配置中的
PermitRootLogin是什么? -
被注释掉了(#PermitRootLogin yes)
-
我取消了它的注释并将其设置更改为无密码。仍然提示我输入密码,但现在它不会接受密码。第三次尝试后,它报告“权限被拒绝(公钥、密码、键盘交互)”。我想知道我是否将密钥文件放在错误的位置?我必须创建 .ssh 目录,而 cat 命令创建了 authorized_keys 文件。
-
如果您是从头开始创建的,请尝试在 .ssh 目录上设置权限 700。
-
将 .ssh 权限设置为 700,将 authorized_keys 设置为 600。仍然收到密码提示。还对 sshd_config 进行了一些额外的更改,我将添加到原始帖子中。