主目录之外的权限被拒绝(公钥)

主目录之外的权限被拒绝(公钥)

我需要从位于桌面的目录中使用 git。当我使用它时ssh <url>,它给出

no such identity: .ssh/id_rsa: No such file or directory
Permission denied (publickey)

但是,如果我从主目录 shh,我可以连接到服务器。如何更新 ./ssh 以使其可以从任何目录访问?

答案1

看起来您在设置 git 以使用 ssh 密钥时可能犯了一个错误。错误.ssh/id_rsa在于您真正需要的是路径~/.ssh/id_rsa,这会告诉您ssh-agent在主目录中查找.ssh目录。目前它将在当前目录中搜索目录.ssh,这就是当您在主目录中时它可以工作的原因。

假设你以类似的方式设置 ssh 密钥Github 教程,您需要从中删除错误的配置ssh-agent,并添加具有正确路径的密钥。

要在您的主目录中删除错误的密钥:

ssh-add -d .ssh/id_rsa

添加具有正确路径的密钥:

ssh-add ~/.ssh/id_rsa

现在可以从任何目录获取该密钥。

相关内容