2014-10-05 156 views
0

我使用rsync来备份我们的服务器到另一个运行我们的局域网上的rsync进程使用命令无法设置

的rsync -av/VOLUME1 /公共/ [email protected] SSH密钥:/股份/备份/公众/

它的工作很好,除了它需要手动输入密码,所以我想用密钥对自动化它。运行SSH-凯基我得到了下面,我打回3次

SSH-凯基 生成公共/私有密钥对。 输入要保存密钥的文件(/root/.ssh/id_rsa): 输入密码(空密码为空): 再次输入相同的密码: 您的身份已保存在/root/.ssh/id_rsa中。 您的公钥已保存在/root/.ssh/id_rsa.pub。

ssh-copy-id脚本不在我们的系统中,所以我使用下面这一行将密码文件复制到备份目标服务器。我检查并正确

> cat /root/.ssh/id_rsa.pub | ssh [email protected] "cat >> /root/.ssh/authorized_keys" 

复制作为一个测试,我ssh到目标服务器,以确保不再有提示输入密码,但我仍然得到一个?

DiskStation> ssh 192.168.2.20 
[email protected]'s password: 

我在unix中不强壮,所以很可能错过了一些明显的东西。请提出建议?

___编辑____

跟进添加以下设置sshd_config中,但仍没有运气:

RSAAuthentication yes 
PubkeyAuthentication yes 

不知道它的问题,但该机托管公钥作为WD ShareSpace的其是Debian Lenny构建。

+0

什么是PermitRootLogin设置在您的sshd配置? – 2014-10-05 21:42:14

+0

它已被注释掉(#PermitRootLogin是) – buttonsrtoys 2014-10-06 11:40:10

+0

我取消注释并将其设置更改为无密码。仍然提示我输入密码,但现在它不会接受密码。在第三次尝试后,它会报告“权限被拒绝(公钥,密码,键盘交互)”。我想知道如果我把密钥文件放在错误的地方?我必须创建.ssh目录,cat命令创建authorized_keys文件。 – buttonsrtoys 2014-10-06 12:43:02

回答

0

确保钥匙在您的链条中。 ssh-add〜path/to/private/key否则你需要执行ssh -i/path/to/key。然后确保你使用ssh root @ whatever。然后确保文件正确写入远程节点。尝试复制和粘贴,而不是你的猫和管道。最后,尝试重新启动远程的ssh并再次执行这些步骤(以允许permitrootlogin处于活动状态)。

顺便说一下,您试图避免输入密码,然后为密钥添加密码的事实使得整个过程毫无意义。

+0

我尝试了您的建议,但仍然收到提示。我最近没有输入密码,所以编辑了我原来的帖子,以反映我在运行ssh-keygen时只是输入了Return 3x。我重启两台机器,但仍然得到提示。我一直在为此工作好几天,并且在线教程都显得那么直截了当,我很困惑。 – buttonsrtoys 2014-11-23 18:58:49

+0

您提到您添加了与无密码相关的设置。撤销,只有permitrootlogin存在。确保你连接到正确的机器(查看远程机器的验证日志的日志。每次验证失败时你应该看到失败的验证尝试)。然后让我看看'ssh-add -l'的输出。 – Peter 2014-11-24 00:04:23