无密码的SSH到同一台机器

好的,我知道如何设置无密码ssh的基本知识:使用ssh-keygen创build密钥对,然后将id_dsa.pub中的公钥添加到主机的.ssh / authorized_keys中。 所以对于两台不同的机器客户端和主机,我可以从客户端SSH入口无需input密码。 目前很好。

但是我有一些软件要求客户端能够在没有密码的情况下自动进入。 天真地我做同样的事情:只需将.ssh / id_dsa.pub复制到.ssh / authorized_keys,同一个目录。 但它不起作用。 如果我input

用户@客户端:〜$ ssh客户端

那么它仍然要求我的密码,即使客户端的公钥是在它自己的authorized_keys文件中。

我错过了什么吗?

使用ssh-copy-id user@client ,它会将正确的数据复制到正确的位置。 但是,如果它与您的用户相同,则可能会造成问题,因为它可能会覆盖重要的内容。 在尝试之前制作一个.ssh目录的副本。

编辑 :奇怪的是,我试图将我的id_rsa.pub添加到我的.ssh/authorized_keys和它的工作。 你确定你的本地sshd被configuration为接受共享密钥authentication吗?

如果我没有弄错,默认选项(和私钥的默认位置)由/ etc / ssh / ssh_config文件控制。

但是,使用ssh命令选项也可以指定要使用的私钥的位置。

另一个会出现类似症状的问题是无法将localhost添加到TCP封装器的控制文件/etc/hosts.allow。 您可以暂时重命名/etc/hosts.deny以确定这是否是问题的根源。