解决方案 git@github.com出现Permission denied (publickey)

本文介绍了解决使用SSH连接GitHub时遇到的Permission denied(publickey)错误的方法。主要问题在于自定义SSH密钥文件名与默认设置不符,提供两种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决方案 git@github.com出现Permission denied (publickey)

 ubentu 13.10 git version 1.8.3.2 解决方案:ssh -T git@github.com出现Permission denied (publickey).的问题

        今天的任务是把项目通过git上传的github内,于是就出现了Permission denied (publickey)这个问题,现在我把自己的解决方案分享给大家。

        一般来说,大家在给文件起名的时候,总会起一些自己喜欢的名字,楼主也不例外在使用命令:

    ssh-keygen

        生成ssh 密钥的时候,会在

    Enter file in which to save the key ("当前所在路径"): “给文件起个名字”

        这里随便起一个名字,这样问题就出来了,你起的这个名字没有和ssh内设定的名字保持一致,所以使用命令

    ssh -T git@github.com

        的时候报出Permission denied (publickey).这个错误

        当出现这个问题时,有两个比较简单的解决办法:

        1)    给文件起名字的时候使用 ‘ id_rsa ’ 这个名字

        2)    如果亲非要自己取名子,那就使用

            ssh-add ~/.ssh/你的名字

                将自己起的名字加入到ssh中

                这样再使用

            ssh -T git@github.com

                就会看到你想要的效果了。

注:在生成密钥的时候,请在 “ ~/.ssh/ ”目录下操作。或者生成后把文件移动到“ ~/.ssh/ ”目录下。


    也可以用:
ssh-add -l 查看加入的密钥列表
ssh -v git@github.com 查看调试信息


如果有问题或不准确的地方,请大家及时批评指教,谢谢!

打开这个~/.ssh/id_rsa.pub文件,把里面的所有的内容都拷贝到你的github网站的ssh key里

在github的右上角edit your profile 里找到ssh key,然后add ssh key,把东西拷贝到key就可以了,title随便填。

### 解决方案 当遇到 `git@github.com: Permission denied (publickey)` 错误时,通常是因为 SSH 密钥配置不正确或者未正确加载到 SSH 代理中。以下是可能的原因以及解决方案: #### 可能原因及解决办法 1. **SSH密钥尚未生成或未上传至GitHub** 如果本地没有生成SSH密钥,则需要先创建一个新的SSH密钥并将其添加到GitHub账户中。 创建新的SSH密钥命令如下[^2]: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 将新生成的公钥复制到剪贴板: ```bash cat ~/.ssh/id_rsa.pub ``` 登录GitHub,在Settings -> SSH and GPG keys 中点击New SSH Key,并将上述公钥粘贴进去。 2. **SSH Agent未启动或未加载私钥** 确保SSH agent已运行并将私钥加载到其中。可以通过以下命令验证和启动SSH agent[^5]: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 3. **主机指纹校验失败** 删除 `.ssh/known_hosts` 文件中的旧条目可能会解决问题,因为有时服务器IP地址变更可能导致此问题: ```bash ssh-keygen -R github.com ``` 4. **测试SSH连接** 使用下面的命令来测试与GitHub的SSH连接是否正常工作[^1]: ```bash ssh -T git@github.com ``` 成功的话应返回类似于 “Hi username! You've successfully authenticated...” 的消息。 5. **检查权限模式** 验证`.ssh`目录及其内部文件是否有正确的访问权限[^3]: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/* ``` 通过以上步骤逐一排查问题所在即可有效处理此类错误情况。 ```python import os os.system('eval "$(ssh-agent -s)"') os.system('ssh-add ~/.ssh/id_rsa') print("SSH Agent started and private key added.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值