Gitlab推送失败:SSH密钥过期,已生成新访问令牌不知如何配置
解决GitLab代码推送失败(SSH密钥过期)问题
方案一:用HTTPS远程地址搭配个人访问令牌(PAT)
- 先查看当前远程仓库的地址类型:
如果输出是git remote -vgit@gitlab.com:xxx/xxx.git这类SSH格式地址,需要切换为HTTPS格式。 - 修改远程仓库地址为HTTPS版本:
git remote set-url origin https://gitlab.com/你的用户名/你的项目仓库名.git - 执行推送操作时,用户名输入你的GitLab账号名,密码直接填你刚生成的个人访问令牌。
注意:生成PAT时必须勾选
write_repository等和代码推送相关的权限,否则会提示权限不足。
方案二:继续使用SSH协议(替换过期密钥)
如果更习惯用SSH而不是HTTPS,你需要生成新的SSH密钥对(而非个人访问令牌):
- 生成新的SSH密钥(推荐用ed25519算法):
按提示回车即可,默认路径生成密钥文件。ssh-keygen -t ed25519 -C "你的GitLab绑定邮箱" - 复制新的公钥内容:
cat ~/.ssh/id_ed25519.pub - 登录GitLab,进入「个人设置」→「SSH密钥」,粘贴刚才复制的公钥内容并保存。
- 测试SSH连接是否正常:
看到类似ssh -T git@gitlab.comWelcome to GitLab, @你的用户名!的提示,就可以正常推送代码了。
内容的提问来源于stack exchange,提问作者indee423
相关产品推荐
相关产品推荐

