![主目录之外的权限被拒绝(公钥)](https://linux22.com/image/893472/%E4%B8%BB%E7%9B%AE%E5%BD%95%E4%B9%8B%E5%A4%96%E7%9A%84%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%88%E5%85%AC%E9%92%A5%EF%BC%89.png)
我需要从位于桌面的目录中使用 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
现在可以从任何目录获取该密钥。