如何为非 root 用户设置无密码身份验证?

如何为非 root 用户设置无密码身份验证?

我使用两台 CentOS 7 服务器,为 root 用户设置无密码身份验证。效果很好。我尝试对其他本地用户使用相同的方法(使用 .pub 和authorized_key 文件)。但这些方法都不起作用。服务器与这些用户之间的 SSH 连接仍会提示输入密码。

我是这样开始的: ssh-keygen -t rsa

我的服务器之一是 Jenkins。我想与其他 CentOS 7 服务器进行构建(至少进行文件传输)。我想我需要对詹金斯用户进行无密码身份验证。我尝试将文件的内容附加.pub/root/.ssh/authorized_keys.我尝试将文件的内容附加.pub/home/jdoe/.ssh/authorized_keys.我也尝试过,而不是authorized_keys authorized_keys2。我希望无密码身份验证与 root 用户的工作方式与其他用户相同(只要我在生成 SSH 密钥时不输入密码)。但这不是我正在经历的。 root 用户无需密码即可通过 SSH 进行身份验证。非 root 用户不会这样做。我应该怎么办?

答案1

您很可能会遇到权限问题。我通常会离开authorized_keys400尽管640就足够了)。~/.ssh应该700id_rsa400也保留着。文件拥有的权限越少,ssh 就越适合它们。

如果你使用-vssh上的开关,它会告诉你这个问题。/var/log/secure也会告诉你发生了什么事。

根据经验,ssh-copy-id我们会为您处理所有这些事情。如果运行它然后密钥开始工作,请在事后查看文件的权限。

相关内容