You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu连接GitHub推送代码每次需输用户名密码,如何永久绑定账号?

Ubuntu系统GitHub推送免输入验证信息配置方案

出现每次push都需要输入账号密码的核心原因是当前你使用了HTTPS协议的仓库远程地址,且没有配置Git凭证缓存,或使用了已被GitHub弃用的密码验证方式。可通过以下两种方案解决:

方案一:SSH密钥认证(推荐,安全性更高)

SSH是GitHub官方首推的认证方式,配置完成后可实现永久免验证推送,步骤如下:

  • 检查本地是否已有可用SSH密钥:执行命令ls ~/.ssh,如果输出中存在id_ed25519、id_ed25519.pub或id_rsa、id_rsa.pub文件,说明已有密钥,可跳过生成步骤
  • 生成新SSH密钥:执行命令ssh-keygen -t ed25519 -C "你的GitHub注册邮箱",所有提示项直接按回车即可(如果需要更高安全性,也可以给密钥设置单独密码,后续可通过ssh-agent自动缓存)
  • 复制公钥内容:执行命令cat ~/.ssh/id_ed25519.pub,将输出的全部内容复制到剪贴板
  • 绑定公钥到GitHub账号:进入GitHub账号设置页面,找到「SSH and GPG keys」入口,点击「New SSH key」,将复制的公钥内容粘贴到输入框后保存
  • 修改本地仓库远程协议为SSH:进入对应的本地仓库目录,执行命令git remote set-url origin git@github.com:你的GitHub用户名/对应仓库名.git

配置完成后执行第一次push会提示确认主机指纹,输入yes后后续所有推送都不需要再输入验证信息。

方案二:HTTPS协议凭证缓存(适合临时使用场景)

如果你不想切换SSH协议,也可以通过Git凭证缓存功能实现免输入:

  • 安装Git凭据管理工具:执行命令sudo apt update && sudo apt install git-credential-manager-core
  • 开启全局凭证存储:执行命令git config --global credential.helper store
    注意:该方案会将认证凭证明文存储在~/.git-credentials文件中,仅推荐在个人私有设备上使用
  • 首次推送时,用户名填写GitHub账号名,密码填写GitHub个人访问令牌(PAT,当前GitHub已不支持账号密码直接认证HTTPS推送,必须使用PAT作为密码),后续推送无需重复输入。

内容的提问来源于stack exchange,提问作者phoenix91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:24:00