如何在没有密码的情况下进行 ssh(设置 ssh 密钥不起作用)?

如何在没有密码的情况下进行 ssh(设置 ssh 密钥不起作用)?

我想不使用密码来 ssh、scp、git fetch 等。我看到了之前的问题和关于这个问题的封闭问题,但建议似乎是使用 ssh 密钥。但是,在设置 ssh 密钥后,系统仍要求我输入密码(它不是要求我输入私钥密码;而是要求我输入登录密码)。我应该如何设置它,以便它仅使用我的私钥进行身份验证?

答案1

~/.ssh在客户端和服务器上适当设置 (0700) 及其内容 (0600) 的权限。

答案2

ssh 对文件的所有权非常敏感authorized_keys。如果 root 以外的人可以更改文件,则不会使用它。它会检查整个目录树,因此,如果其他人可以执行某些操作(例如替换您的主目录或 .ssh 目录),则不会使用它。检查从authorized_keys一直到 的权限/。如果不设置粘滞位,这些权限都不应是组或世界可写的。(我的 /home 目录的权限是drwxrwxr-t。所有权必须是 root 或用户。authorized_keys 文件的权限不应允许组或世界访问。

ssh -v而不是进行测试ssh应该会有所帮助。使用ssh-copy-id将密钥复制到远程系统是一个好主意。

相关内容