pycharm连接GitHub,怎么配置 SSH 密钥并改用 SSH 连接
先说结论:用ssh主要解决本地连接GitHub时用https网络不稳定,老连不上。
觉得下面排版有问题,可以直接把“具体给我说说怎么配置 SSH 密钥并改用 SSH 连接”发给腾讯元宝,还有windows系统用下面的cat 命令会报错,单独写一篇再讲。
配置 SSH 密钥并改用 SSH 连接 GitHub 是解决网络连接问题的一个好方法,通常比 HTTPS 更稳定。下面是具体的步骤。
🔑 生成 SSH 密钥对
首先,你需要在你本地电脑上生成一对 SSH 密钥(一个公钥,一个私钥)。
打开终端 (Windows 用户可使用 Git Bash 或 PowerShell)。
生成密钥:运行以下命令,将
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"
指定保存路径和密码:
按回车使用默认保存路径(通常是
~/.ssh/id_ed25519
或~/.ssh/id_rsa
)。系统会提示你为密钥设置一个密码(passphrase)。设置密码可以增加安全性,但每次使用密钥时都需要输入。你也可以直接回车留空。
📋 将 SSH 公钥添加到 GitHub
生成密钥后,需要将公钥添加到你的 GitHub 账户。
复制公钥内容:使用以下命令显示并复制公钥内容(从终端输出中复制,通常以
ssh-ed25519
或ssh-rsa
开头):cat ~/.ssh/id_ed25519.pub
或者,如果使用的是 RSA:
cat ~/.ssh/id_rsa.pub
在 GitHub 上添加公钥:
登录 GitHub,点击右上角头像,进入 Settings。
在左侧边栏中选择 SSH and GPG keys。
点击 New SSH key。
在 "Title" 中为密钥取一个易于识别的名字(例如 "My Work Laptop")。
将刚才复制的公钥内容粘贴到 "Key" 字段中。
点击 Add SSH key。
✅ 测试 SSH 连接
添加公钥后,测试一下是否配置成功。
在终端中运行:
ssh -T git@github.com
你可能会看到类似如下的警告,输入
yes
继续:The authenticity of host 'github.com (IP ADDRESS)' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])?
如果配置成功,你会看到如下提示:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
🔄 将现有仓库的远程地址切换为 SSH
如果你的本地仓库之前使用的是 HTTPS 协议,需要将其切换为 SSH。
查看当前远程仓库地址:
git remote -v
这会显示当前的远程地址,可能是以
https://github.com/...
开头。切换为 SSH 地址:
git remote set-url origin git@github.com:username/repository.git
请将
username
替换为你的 GitHub 用户名,repository
替换为你的仓库名。再次验证:
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
文件中进行配置