向GitHub推送代码仓库时SSH密钥相关问题及复用配置方法
Git推送GitHub时SSH密钥复用相关问题解答
是否每次推送代码都需要重新获取SSH密钥?
不需要。SSH密钥是本地生成的公私钥对,仅需要完成一次本地生成+GitHub端公钥绑定的配置,后续只要本地私钥未被删除、损坏,GitHub账号下绑定的对应公钥未被移除,就可以长期复用同一个密钥完成所有仓库的推送操作,无需重复生成或获取。
配置同一SSH密钥复用的操作步骤
- 第一步:生成本地SSH密钥(仅首次配置需要执行)
打开终端执行以下命令,将邮箱替换为你GitHub账号绑定的邮箱:
优先使用ed25519加密算法:ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"
如果你使用的是不支持ed25519的旧系统,可以改用RSA算法:ssh-keygen -t rsa -b 4096 -C "你的GitHub绑定邮箱"
执行后连续按三次回车即可(不需要设置密钥密码的情况下),生成的密钥会默认保存在当前用户目录的.ssh文件夹下,其中带.pub后缀的是公钥文件,另一个是私钥文件,私钥不要泄露给其他人。 - 第二步:将公钥绑定到你的GitHub账号
打开本地生成的.pub公钥文件,复制全部内容,登录GitHub后依次进入设置页面→SSH and GPG keys管理页,点击新增SSH key按钮,自定义填写备注(比如你当前使用的设备名称),将复制的公钥内容粘贴到对应输入框后保存即可。 - 第三步:验证配置是否生效
终端执行命令:ssh -T git@github.com
首次连接会提示是否确认连接,输入yes后回车,如果出现Hi 你的GitHub用户名! You've successfully authenticated的提示,就说明密钥配置成功。 - 第四步:调整本地仓库的远程地址为SSH格式(如果之前用的是HTTPS地址)
进入本地仓库目录执行以下命令,替换为你对应仓库的SSH地址:git remote set-url origin git@github.com:你的GitHub用户名/对应仓库名.git
注意:同一个SSH公钥绑定到GitHub账号后,可以支持该账号下所有仓库的推拉操作,不需要为每个仓库单独配置密钥。
内容的提问来源于stack exchange,提问作者Abhash Mahato
相关产品推荐
相关产品推荐

