智享教程网
白蓝主题五 · 清爽阅读
首页  > 日常经验

远程仓库生成密钥的实用操作指南

为什么要生成密钥连接远程

平时在公司或自己搭项目,经常要把代码推到远程仓库,比如 GitHub、GitLab 或者公司自建的 Git 服务器。每次输账号密码太麻烦,还容易暴露密码。这时候用 SSH 密钥就方便多了,生成一次,长期免密登录。

密钥分公钥和私钥,公钥放远程仓库那边,私钥留在自己电脑,相当于一把数字钥匙,安全又省事。

检查本地是否已有密钥

打开终端(Mac/Linux)或者 Git Bash(Windows),运行:

ls -al ~/.ssh/

看看有没有 id_rsa 和 id_rsa.pub 这样的文件。如果有,说明之前生成过,可以直接用。没有的话,就得生成一个新的。

生成新的 SSH 密钥

在终端里输入下面这行命令,邮箱换成你自己的:

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

然后会提示你保存位置,直接回车用默认就行。接着会让你设密码(passphrase),可以不设,但设了更安全。

把公钥添加到远程仓库

生成完成后,需要把公钥内容复制出来。还是在终端运行:

cat ~/.ssh/id_rsa.pub

整串内容会打印出来,开头是 ssh-rsa,结尾是你邮箱。全选复制这一整段。

打开你的远程仓库网站,比如 GitHub,在设置里找到 SSH Keys 或 Deploy Keys 的选项,点“添加新密钥”,标题可以写“我的开发机”,粘贴进去保存。

测试连接是否成功

回到终端,试试能不能连上:

ssh -T git@github.com

如果是第一次连,会提示你确认指纹,输入 yes 回车。如果看到 Hi 后面跟着你的用户名,说明密钥配置成功了。

小问题常见处理

有时候明明配好了却连不上,可能是 SSH agent 没启动。可以手动加一下私钥:

ssh-add ~/.ssh/id_rsa

另外,多账号用户注意别搞混密钥。比如公司项目用一个,个人 GitHub 用另一个,可以在 ~/.ssh/config 里配置不同 Host 对应不同密钥,避免冲突。

我之前就在公司电脑和个人笔记本上弄混过,结果推错仓库,尴尬得不行。现在每个设备都单独生成密钥,清楚得很。