在家办公时,经常需要把代码推送到远程仓库,比如 GitHub 或 GitLab。每次输账号密码太麻烦,还容易出错。这时候,生成一对 SSH 密钥就能一劳永逸。本地保存私钥,公钥放到远程仓库,以后推送拉取都不用手动登录。
检查是否已有密钥
打开终端,输入下面命令看看有没有 .ssh 文件夹:
ls -al ~/.ssh
如果看到 id_rsa 和 id_rsa.pub 这样的文件,说明已经有密钥了,可以直接用。如果没有,或者你想重新生成一个,继续下一步。
生成新的 SSH 密钥
在终端运行这条命令,把邮箱换成你自己的:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
系统会提示你保存位置,直接回车用默认路径就行。接着会让你设密码(passphrase),可以设也可以跳过。设了更安全,但每次操作要多输一次密码。
启动 SSH 代理并添加私钥
为了让系统记住你的密钥,先启动代理:
eval $(ssh-agent -s)
然后把私钥加进去:
ssh-add ~/.ssh/id_rsa
复制公钥内容
公钥文件是 .pub 结尾的那个。用下面命令复制内容到剪贴板(macOS):
pbcopy < ~/.ssh/id_rsa.pub
如果是 Linux,可以用:
xclip -sel clip < ~/.ssh/id_rsa.pub
Windows 在 Git Bash 里可以直接右键选中内容复制。
添加公钥到远程仓库
打开 GitHub 或 GitLab 的设置页面,找到 SSH Keys 选项。把刚才复制的公钥粘贴进去,标题可以写“我的笔记本”或“公司电脑”这种方便识别的名字。
测试连接是否成功
在终端运行:
ssh -T git@github.com
如果看到类似“You've successfully authenticated”的提示,说明密钥已经生效。现在你可以自由地 push、pull 代码,再也不用反复输入密码了。
有时候换了新电脑,或者重装系统,记得把原来的私钥备份好。不然旧项目可能无法继续推送。建议把 .ssh 文件夹的重要密钥做加密备份,存在安全的地方。