1. 检查本地是否已有 SSH Key
ls -al ~/.ssh/
如果看到有 id_rsa、id_ed25519 或对应的 .pub 文件,说明已经有过 SSH Key。
如果没有,继续下一步生成。
2. 生成 SSH Key
推荐使用 ed25519 算法(更安全、更快):
ssh-keygen -t ed25519 -C "your_email@example.com"
如果想用 RSA 也可以:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
执行后会提示保存路径,直接回车即可(默认 ~/.ssh/id_ed25519)。
然后一路回车,直到生成完成。
3. 启动 ssh-agent 并添加私钥
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
如果你生成的是 RSA,那么就执行:
ssh-add ~/.ssh/id_rsa
4. 把公钥添加到远程仓库平台
查看公钥内容:
cat ~/.ssh/id_ed25519.pub
复制整行内容,到远程平台(比如 GitHub、GitLab、cnblogs tribe 等)的 SSH Keys 设置里添加。
5. 测试 SSH 连接
执行:
ssh -T git@tribe.cnblogs.com
如果配置正确,会输出类似:
Welcome to Git service...
如果提示 Permission denied (publickey),说明 key 没加对,要检查 .ssh/config 或公钥设置。
6. 配置 Git 远程仓库地址
查看当前远程地址:
git remote -v
如果地址不对(比如是 HTTPS),可以改为 SSH:
git remote set-url origin git@tribe.cnblogs.com:用户名/仓库名.git
7. 首次 push 代码
git add .
git commit -m "init commit"
git push --set-upstream origin main
如果前面步骤都成功,这里就能顺利把代码推送到远程仓库。
8. 额外(多钥匙管理)
如果你有多个 SSH Key,可以在 ~/.ssh/config 里写配置:
Host tribe.cnblogs.com
HostName tribe.cnblogs.com
User git
IdentityFile ~/.ssh/id_ed25519
这样不同仓库可以指定不同的 key,避免冲突。
✨ 到这里,你就完成了 SSH Key 配置 + Git 初次 push 全流程。