美文网首页
Git 提示 Permission denied (public

Git 提示 Permission denied (public

作者: itzhangbao | 来源:发表于2020-11-11 07:43 被阅读0次

    首先确认下你的Linux/Mac/Wins当前用户对于 git 工程所在的本地文件夹, 是否具有777权限,没有的话,先设置一下.

    因为即使你把 root 用户的 ssh 加到 GitHub 后, 操作系统的子账户并不能具有 ssh 的权限.

    如果具有777权限,可以进行下面的检查:

    下面的方案前提是你对文件夹有777权限.

    电脑只有一个git环境

    如果你的电脑只有一个git环境,那么极大多数情况是由于 GitHub 账号没有设置 ssh 公钥信息所致。 前往 GitHub 网站的"account settings"

    依次点击"Setting -> SSH Keys"->"New SSH key"

    Title处填写“id_rsa.pub”或其他任意信息。 key处原样拷贝下面命令的打印 ~/.ssh/id_rsa.pub 文件的内容:

    cat ~/.ssh/id_rsa.pub      # 控制台上输出内容
    pbcopy < ~/.ssh/id_rsa.pub # 自动拷贝到粘贴板
    

    如没有则按下述方法生成:

    ssh-keygen -t rsa
    

    输入文件名的地方输入可以输入自定义文件名,默认是id_rsa,然后一路回车......

    注意如果自定义文件名的话,需要加一个config文件,下文有介绍。

    最后,输入

    ssh -T git@github.com
    

    如果没有报错,

    再尝试输出就应该有了

    cat ~/.ssh/id_rsa.pub      # 控制台上输出内容
    pbcopy < ~/.ssh/id_rsa.pub # 自动拷贝到粘贴板
    

    或者说设置了 sshkey 还是 permission denied 怎么回事?

    回到如下命令,检查当前配置的SSH对应的git账号;

    ssh -T git@github.com
    

    然后用如下命令(id_rsa对应目标账户的私钥)命令,制定目标Git账号

    ssh-add -K ~/.ssh/id_rsa
    

    电脑有多个git环境

    如果尝试了上面的方法还是不行,那么可能你用了多个密钥,你在新建秘钥的时候使用了自定义的名称,比如 github_rsa,你需要再配置一个 config 文件

    cd ~/.ssh/
    vi config
    

    输入以下内容:

    Host github
        User git  
        HostName github.com
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/github_rsa
        ServerAliveInterval 300
        ServerAliveCountMax 10
    

    ESC+:wq保存退出

    重新尝试以下命令即可搞定:

    注意⚠️:@ 符号前后的参数要与上面 User 和 HostName对应上,一般公司内部的代码仓库都是自定义的,注意修改上面的参数然后再匹配下面的进行测试:

    ssh -T git@github.com
    
    ssh-add -K ~/.ssh/github_rsa
    

    相关文章

      网友评论

          本文标题:Git 提示 Permission denied (public

          本文链接:https://www.haomeiwen.com/subject/enetbktx.html