从昨天开始,每次我尝试连接到 ssh 服务器时,都会被要求输入密码。我应该怎么做才能让 SSH 不再每次都询问我的密码。
答案1
输入您的公钥hostmachine:~/.ssh/authorized_keys
并确保它具有适当的权限(使用chmod 600
)。有关更多详细信息,请参阅手册页的“身份验证”部分。请注意,sshd 可能被配置为禁止这种登录方法,尽管我无法理解为什么。
答案2
检查目录权限和文件权限。
$HOME
不能由组或其他人写入。
$HOME/.ssh
需要具有700
权限,不能按组和其他方式读取、写入或执行。
$HOME/.ssh/authorized_keys
任何人都不可写入或执行。
如果您发现权限不够严格,请尝试找出导致问题的原因。上次发生这种情况时,我是从头开始编译 PHP 的。我记得,以 root身份执行(Slackware)更改了ormake install
的权限和所有权,并且使 ssh 无法使用已经存在并工作了很长时间的文件。您需要确定导致问题的原因,因为 rootkit 安装或类似情况可能会导致目录所有权和/或权限发生更改。/
/home
authorized_keys
id_rsa.pub