SSH公钥authentication

我试图configurationssh使用公钥authentication

链接

/ etc / ssh / sshd_config已经有了这个参数。

RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes 

但是我仍然被提示input密码。 如果我使用

 PasswordAuthentication no 

我无法login

任何build议?


它的工作原理,但只为root用户。

我的问题是,我有这个参数

PermitRootLogin no。

如果我使用的话,我可以用root用户login

PermitRootLogin是。

在这个系统中,在这个目录中只有一个/root/.ssh目录是authorized_keys文件

如果在这个系统中没有为每个用户设置一个home / $ USER / .ssh目录和authorized_keys文件,我怎么能把这个添加到其他用户呢?

有没有一种方法来configuration每个用户? 我将需要每个用户不同的authorized_keys文件。

有可能configuration为不同的主机,域或ips? 类似于httpd.conf

在密码validation之前总是尝试密钥validation,所以如果提示您input密码,密钥validation失败。 最常见的原因是客户端和服务器端文件的所有权或权限不正确。

在客户端和服务器上, ~/.ssh目录必须是拥有者,只有你可以访问:

 chown -R $USER ~/.ssh chmod u=rwX,g=,o= ~/.ssh 

在客户端上,私钥必须是拥有者,只有您可以访问:

 chmod u=rwX,g=,o= ~/.ssh/id_rsa 

在服务器上,授权密钥文件必须拥有且只能由您访问:

 chmod u=rwX,g=,o= ~/.ssh/authorized_keys