pycharm连接GitHub,怎么配置 SSH 密钥并改用 SSH 连接

先说结论:用ssh主要解决本地连接GitHub时用https网络不稳定,老连不上。

觉得下面排版有问题,可以直接把"具体给我说说怎么配置 SSH 密钥并改用 SSH 连接"发给腾讯元宝,还有windows系统用下面的cat 命令会报错,单独写一篇再讲。

配置 SSH 密钥并改用 SSH 连接 GitHub 是解决网络连接问题的一个好方法,通常比 HTTPS 更稳定。下面是具体的步骤。

🔑 生成 SSH 密钥对

首先,你需要在你本地电脑上生成一对 SSH 密钥(一个公钥,一个私钥)。

  1. ​打开终端​​ (Windows 用户可使用 Git Bash 或 PowerShell)。

  2. ​生成密钥​ ​:运行以下命令,将 your_email@example.com替换为你 GitHub 账户绑定的邮箱(这只是一个标识)。

    ssh-keygen -t ed25519 -C "your_email@example.com"

    • 如果系统提示不支持 ed25519算法,可以使用 RSA:

      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  3. ​指定保存路径和密码​​:

    • 按回车使用默认保存路径(通常是 ~/.ssh/id_ed25519~/.ssh/id_rsa)。

    • 系统会提示你为密钥设置一个密码(passphrase)。设置密码可以增加安全性,但每次使用密钥时都需要输入。你也可以直接回车留空。

📋 将 SSH 公钥添加到 GitHub

生成密钥后,需要将公钥添加到你的 GitHub 账户。

  1. ​复制公钥内容​ ​:使用以下命令显示并复制公钥内容(从终端输出中复制,通常以 ssh-ed25519ssh-rsa开头):

    cat ~/.ssh/id_ed25519.pub

    或者,如果使用的是 RSA:

    cat ~/.ssh/id_rsa.pub

  2. ​在 GitHub 上添加公钥​​:

    • 登录 GitHub,点击右上角头像,进入 ​​Settings​​。

    • 在左侧边栏中选择 ​​SSH and GPG keys​​。

    • 点击 ​​New SSH key​​。

    • 在 "Title" 中为密钥取一个易于识别的名字(例如 "My Work Laptop")。

    • 将刚才复制的公钥内容粘贴到 "Key" 字段中。

    • 点击 ​​Add SSH key​​。

✅ 测试 SSH 连接

添加公钥后,测试一下是否配置成功。

  1. 在终端中运行:

    ssh -T git@github.com

  2. 你可能会看到类似如下的警告,输入 yes继续:

    The authenticity of host 'github.com (IP ADDRESS)' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?

  3. 如果配置成功,你会看到如下提示:

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.

🔄 将现有仓库的远程地址切换为 SSH

如果你的本地仓库之前使用的是 HTTPS 协议,需要将其切换为 SSH。

  1. ​查看当前远程仓库地址​​:

    git remote -v

    这会显示当前的远程地址,可能是以 https://github.com/...开头。

  2. ​切换为 SSH 地址​​:

    git remote set-url origin git@github.com:username/repository.git

    请将 username替换为你的 GitHub 用户名,repository替换为你的仓库名。

  3. ​再次验证​​:

    git remote -v

    现在应该显示以 git@github.com:开头的 SSH 地址。

🆕 后续使用 SSH 克隆仓库

之后克隆新仓库时,直接使用 SSH URL 即可:

git clone git@github.com:username/repository.git

⚠️ 可能遇到的问题及解决方法

  • ​权限错误 (Permissions too open)​ ​:如果遇到 WARNING: UNPROTECTED PRIVATE KEY FILE!,说明私钥文件的权限太开放。可以运行以下命令修复:

    chmod 600 ~/.ssh/id_ed25519

  • ​管理密钥密码​ ​:如果你为密钥设置了密码,并且不想每次使用都输入,可以借助 ssh-agent来管理

    eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519

  • ​多个 GitHub 账户或密钥​ ​:如果你需要为不同的 GitHub 账户使用不同的密钥,可以在 ~/.ssh/config文件中进行配置

相关推荐
向上的车轮14 小时前
PyCharm的优秀插件有哪些特性?
ide·pycharm·dubbo
我先去打把游戏先15 小时前
VSCode通过SSH连接到Ubuntu虚拟机失败“找不到ssh安装”问题解决
笔记·vscode·单片机·嵌入式硬件·学习·ubuntu·ssh
CSND74016 小时前
linux离线环境局域网远程ssh连接vscode
linux·vscode·ssh
逛逛GitHub17 小时前
推荐 3 个 GitHub 开源项目,让你的 Claude Code 与众不同。
github
whysqwhw20 小时前
KSP 全面讲解
github
whysqwhw20 小时前
KotlinPoet 详解
github
dyxal21 小时前
内网windows系统机器通过vscode ssh连接内网服务器,无网络导致的一系列无法正常连接问题
服务器·vscode·ssh
洛小豆21 小时前
Git打标签仓库看不到?她说:豆子,你又忘了加 --tags!
git·后端·github
不老刘21 小时前
GitHub Spec-Kit:AI 时代的规范驱动开发工具
人工智能·github·spec-kit
piggy侠1 天前
【GitHub每日速递 251016】23k star,Daytona:90ms内极速运行AI代码,安全弹性基础设施来袭!
算法·github