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-ed25519或 ssh-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文件中进行配置

相关推荐
徐小夕2 小时前
开源Vector-Graph-RAG:向量+图谱双引擎,打破纯向量RAG的效果天花板
前端·vue.js·github
GitHub实测笔记2 小时前
zoxide 本机实测:一万条记查询中 5.7ms0.10 版 import --from
github
西风测评3 小时前
安全的自动更新怎么做:minisign 签名、先验签后解析与防回滚
rust·ssh
Brookty5 小时前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github
miofly21 小时前
Genie 4新增原生音频,实时世界模型加入声音生成
开源·github
dong_junshuai21 小时前
每天一个开源项目#155 MuJoCo:从接触求解到控制时序的物理引擎
github
程序员初一21 小时前
Linux 远程桌面有四种做法
linux·ssh
GitHub实测笔记21 小时前
eza 本机实测:一万文件 -l 中位 48ms、ls 21.5ms;脚本里裸跑 eza 输出为空
github
一条Go21 小时前
开源新生代雷达 · 第 04 期
github
一条Go21 小时前
告警指纹:一次故障为什么只产生一条 FIRING 记录
后端·架构·github