无法设置SSH密钥

时间:2014-10-05 21:31:42

标签: ssh ssh-keys

我正在使用rsync将我们的服务器备份到使用命令在我们的LAN上运行rsync守护程序的另一台服务器

  

rsync -av / volume1 / Public / root@192.168.2.20:/ shares / Backup / Public /

它工作得很好,除了需要手动输入密码,所以我想用密钥对自动化它。运行ssh-keygen我得到以下命中返回3次

  

SSH-密钥生成       生成公钥/私钥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版本。

2 个答案:

答案 0 :(得分:0)

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

顺便说一句,你试图避免输入密码,然后你为密钥添加了一个密码,这使得整个过程毫无意义。

答案 1 :(得分:0)

无密码SSH的正确程序如下:

首先执行ssh-keygen命令以生成密钥

ssh-keygen 

获得密钥后,即可将其复制到远程服务器。使用此命令可以更轻松地使用

ssh-copy-id user@host

该命令假定您使用ssh的端口22(如果不使用),其中xxxx是端口号

ssh-copy-id "user@host -p xxxx"

有关此命令的详细说明,请参阅here

在您的情况下,正在编辑

/etc/ssh/sshd_config

确保从

修改PasswordAuthentication
PasswordAuthentication yes

PasswordAuthentication no

然后使用

重启sshd
  

service sshd restart