Linux 权限被拒绝(公钥),但公钥在本地和远程存在
我尝试推送时出现以下错误:Linux 权限被拒绝(公钥),但公钥在本地和远程存在,linux,ubuntu,github,ssh,public-key,Linux,Ubuntu,Github,Ssh,Public Key,我尝试推送时出现以下错误: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists 我知道这是什么意思。但是,id\u rsa.pub确实存在于本地,并且它也被复制到bitbucker,它们都是相同的。存储库也存在 原因可能是什么?公钥问题
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists
我知道这是什么意思。但是,id\u rsa.pub
确实存在于本地,并且它也被复制到bitbucker,它们都是相同的。存储库也存在
原因可能是什么?公钥问题
git@github.com:username/reponame
)ssh调试连接git@somehostname.com-T-vv
获取详细模式。
检查输出。它会告诉你发生了什么。如果你仍然被卡住了,把它贴在这里,我们可以看看ssh
通常会抱怨您的私钥或其指向私钥的父目录已被删除
chmod 0600~/.ssh/id\u rsa
,并且~/.ssh
目录最多设置为0700~
和~/..
(父目录,在Linux上通常是/home
,在Mac OS X上通常是/Users
)最多应设置为744man chown
~/.ssh/authorized_keys
文件。它的权限也是一个失败点修复OSX目录权限 @AlexanderSupertramp,我说权限最多应该是
744
,是的,仅指SSH的要求。但我并没有建议您将/home
目录修改为该号码。每个操作系统对目录权限都有自己的要求,我只能提供一般说明,因为您没有提供有关系统的太多信息。无论如何,我非常抱歉我的回答不清楚
您的mac可能无法启动,因为744
太自由了。但我不能肯定。要解决此问题,您可能需要访问苹果商店的Genius酒吧或联系授权维修技术人员。您还可以使用内置工具自动修复目录权限,如下所示:
Command+S
,进入单用户模式你在使用什么操作系统?你的~/.ssh/config中有bitbucket条目吗?@m79lkm,我没有这个路径。但是,我能够在以前的系统上成功地推送到这个存储库。在这个系统上,我有相同的~/.ssh目录和相同的内容,因为我从以前的系统(Mint)复制了它。如果你在移动文件时使用了
cp
,那么你在新系统上的文件权限很可能会被弄乱rsync
最适合移动文件和保留权限。@GuyHughes,应该有什么权限?在我的新系统上,它们都有root权限git@somehostname.com-T-vv?它可以是任何东西,具体取决于您要连接到的位置。如果您使用的是github.com,那么它将是sshgit@github.com
,而@
符号前面的第一部分是ssh“用户名”(git
),但这与github.com上的用户名不同。如果您使用的是bitbucket.org,那么它将是git@bitbucket.org
。你的第二个建议是和~/。。(父目录,通常是Linux上的/home和Mac OS X上的/Users)最多应设置为744。
。所以我做了sudo chmod 744~/..
,我不能再启动我的mac了。@AlexanderSupertramp,我已经更新了我的答案。我从未建议您将/home
目录权限设置为744。很抱歉造成混淆。您好。我遇到了完全相同的问题,但是在Windows操作系统上。在添加SSH密钥后,它工作了几天,之后出现了相同的错误。有什么建议吗?
$ id -un && id -ug # check output of this command before using!
username
groupname
$ chown --recursive $(id -un):$(id -gn) ~