github新建SSH key出现github permission denied<publickey>

1. 找到C:\Users\Programmer_Win\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\etc\ssh

2. 打开ssh_config

3. 将IdentityFile=后面的内容改成~/.ssh/id_rsa

### SSH 连接 GitHub 出现 `Permission denied (publickey)` 的解决方案 当在 CentOS 上尝试通过 SSH 访问 GitHub 并收到 `Permission denied (publickey)` 错误时,这通常是由于本地未正确配置 SSH 密钥或 GitHub 未识别该密钥所致。以下是详细的分析和解决办法: #### 配置 SSH 秘钥 1. **进入 SSH 配置目录** 切换到 `.ssh` 目录并确认是否存在现有的 SSH 密钥文件: ```bash cd ~/.ssh/ ls ``` 如果不存在任何密钥文件,则需要重新生成。 2. **生成新的 SSH 密钥** 使用以下命令生成一个新的 RSA 类型的 SSH 密钥,并将其与指定的电子邮件关联: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此处需替换为实际使用的邮箱地址[^5]。执行过程中会提示设置密码(可选),按 Enter 跳过即可完成默认路径下的密钥生成。 3. **复制公钥至剪贴板** 将新生成的公钥内容读取出来准备上传给 GitHub: ```bash cat ~/.ssh/id_rsa.pub ``` 4. **添加公钥到 GitHub** 登录 GitHub 帐户后转至账户设置中的 “SSH and GPG keys”,点击“New SSH key”按钮粘贴上述获取的内容提交保存[^2]。 #### 修改 SSH Config 文件 为了区分多个远程主机的身份验证需求,可以自定义配置特定于 GitHub 的连接参数。编辑或者新建一个名为 `~/.ssh/config` 的文件加入如下条目: ```plaintext Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa ``` 这里假设刚才创建的是标准名称 `id_rsa`;如果有其他命名比如例子提到过的 `id_custome_name` ,则相应调整路径指向正确的私钥位置[^3]。 #### 测试连接有效性 最后一步测试是否成功建立无密码认证通道向目标服务器发起握手请求: ```bash ssh -T git@github.com ``` 如果一切正常应该返回欢迎消息类似于:“Hi username! You've successfully authenticated...”。否则再次核查每环节设定直至排除所有潜在障碍为止[^4]。 ```python import os def check_ssh_key(): home_dir = os.path.expanduser("~") ssh_path = f"{home_dir}/.ssh/" if not os.path.exists(ssh_path): print(f"No .ssh directory found at {ssh_path}. Creating one...") os.makedirs(ssh_path) private_key_file = f"{ssh_path}id_rsa" public_key_file = f"{private_key_file}.pub" if not os.path.isfile(private_key_file) or not os.path.isfile(public_key_file): email = input("Enter your email address to generate a new SSH key: ") os.system(f'ssh-keygen -t rsa -b 4096 -C "{email}"') check_ssh_key() print("Please add the content of ~/.ssh/id_rsa.pub into your GitHub account settings under 'SSH Keys'. Afterward, test with:") print("`ssh -T git@github.com`") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值