Skip to content

同一个仓库通常有两种地址:

text
https://github.com/<user>/<repo>.git
git@github.com:<user>/<repo>.git

HTTPS 每次推都可能要口令。SSH 把公钥放到远端、私钥留在本机,配对通过就不用反复输入。

先写本机身份 ​

bash
git config --global user.name "your-name"
git config --global user.email "you@example.com"

这两行不是可有可无。跳过的话,生成的 key 注释可能对不上你在平台上登记的身份,后面校验会绕弯。

生成密钥 ​

bash
ssh-keygen -t ed25519 -C "you@example.com"

一路回车即可。给私钥设口令更安全,但每次用 Git 都要输;本地单机图省事,可以空口令。老环境不支持 ed25519 时再用:

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

文件在 ~/.ssh/:私钥 id_ed25519(或 id_rsa),公钥 id_ed25519.pub。看公钥:

bash
cat ~/.ssh/id_ed25519.pub

把公钥整行贴到 GitHub / GitLab 的 SSH Keys 里。私钥不要发出去。

验证 ​

bash
ssh -T git@github.com

看到 successfully authenticated 就对了。GitLab 把主机名换成你的即可。

已经是 HTTPS,改成 SSH ​

不必重克隆。改 remote:

bash
git remote -v
git remote set-url origin git@github.com:<user>/<repo>.git

也可以直接改 .git/config 里 url 那一行。一台电脑一把私钥;公司电脑和家里电脑各生成一把,把两把公钥都加到账号上。

测试开发工程师 · 专注自动化与系统架构 | 邮箱: hansblog@atumsoul.win