如果不更改权限,则不会发生此错误。我正在使用以下命令更改它们:
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys
(与此步骤相同回答)
答案1
问题在于密钥归 root 所有。
sudo chown -R $USER:$USER ~/.ssh
chmod -R 700 ~/.ssh
这两个命令将恢复用户所有权并适当地设置权限。
一般规则是,您的主目录中的所有内容都应归您所有。对于 ssh 密钥,如果所有权与用户名不匹配,ssh 将拒绝工作,因为这可能是一个安全问题。
答案2
就我而言,答案是当我粘贴密钥时,Digital Ocean 提供的控制台弄乱了我的密钥。(我不知道为什么会这样,但是粘贴长字符串时它们会变得混乱)。
因此对我来说解决方案是下载密钥文件curl
。