当前位置: 首页 > news >正文

ubuntu git push每次都要输入密码怎么解决只输入一次密码

在 Ubuntu 下使用 Git 时,如果每次 push 都需要重复输入密码,可以通过配置 Git 凭证存储来解决。以下是几种常用方法:

🔑 方法一:使用 Git 凭证缓存(推荐)

设置凭证缓存(默认 15 分钟)

git config --global credential.helper cache

设置更长的缓存时间(例如 1 小时 = 3600 秒)

git config --global credential.helper ‘cache --timeout=3600’

效果:第一次 push 时输入密码后,后续操作在设定时间内无需重复输入

💾 方法二:使用 Git 凭证存储(密码保存到磁盘)

将凭证永久存储到 ~/.git-credentials 文件

git config --global credential.helper store

注意:

  1. 第一次操作仍需输入密码

  2. 密码会以明文形式存储在 ~/.git-credentials

  3. 适合个人电脑使用,不建议在共享环境中使用

🔐 方法三:使用加密的凭证管理器(最安全)

安装 Git 凭证管理器

sudo apt install git-credential-manager

设置全局配置

git config --global credential.helper manager

优点:

  • 密码通过系统密钥环(GNOME Keyring/Seahorse)加密存储

  • 支持 MFA 等多因素认证

  • 自动处理令牌刷新

🔄 方法四:切换到 SSH 协议(永久解决方案)

  1. 生成 SSH 密钥:
    ssh-keygen -t ed25519 -C “your_email@example.com”

上面的ed25519是一种椭圆曲线公钥加密算法,用于生成 SSH 密钥对。它是目前更安全、更高效的替代方案,相比传统的 RSA 算法有显著优势。

  1. 添加公钥到 Git 服务商:
    • GitHub/GitLab 等 → Settings → SSH Keys
    cat ~/.ssh/id_ed25519.pub # 复制输出内容

  2. 修改远程仓库 URL:
    git remote set-url origin git@github.com:username/repo.git

⚙ 检查当前配置

查看当前凭证配置

git config --global --get credential.helper

查看所有 Git 配置

git config --global -l

🔍 故障排查

如果仍然需要重复输入密码:

  1. 检查远程 URL 类型:
    git remote -v

    • HTTPS URL 格式:https://github.com/user/repo.git

    • SSH URL 格式:git@github.com:user/repo.git

  2. 清除旧凭证:

    清除缓存

    git credential-cache exit

    删除存储文件

    rm ~/.git-credentials

📌 总结建议:

  1. 个人开发机 → 使用 credential.helper store 或 SSH 协议
  2. 安全性要求高 → 使用 Git Credential Manager
  3. 临时使用 → 用 credential.helper cache + 延长 timeout

⚠️ 重要安全提示:避免在公共计算机上使用 store 方式,以防密码泄露。


文章转载自:

http://V6FmIsck.wbyLy.cn
http://a8nOXNjV.wbyLy.cn
http://ONoMBNAz.wbyLy.cn
http://gUoAvg6I.wbyLy.cn
http://IlQpjY1N.wbyLy.cn
http://mlVJ454s.wbyLy.cn
http://F5m3aneI.wbyLy.cn
http://40jbN7AM.wbyLy.cn
http://BVEbM7l8.wbyLy.cn
http://vQWePVbI.wbyLy.cn
http://j35KrTW6.wbyLy.cn
http://W4SRNX4q.wbyLy.cn
http://mx28BBxb.wbyLy.cn
http://EdfUJSpL.wbyLy.cn
http://1oXdoVrV.wbyLy.cn
http://DIsQNZgU.wbyLy.cn
http://NtxVDZss.wbyLy.cn
http://jwrqz6Tb.wbyLy.cn
http://OAjYcTao.wbyLy.cn
http://nOM7T6gR.wbyLy.cn
http://jHE4ToRP.wbyLy.cn
http://nGUIsnwR.wbyLy.cn
http://omdEJf68.wbyLy.cn
http://FSX7aNI5.wbyLy.cn
http://dlKzwLvH.wbyLy.cn
http://dyByBmNa.wbyLy.cn
http://xnwEg9X4.wbyLy.cn
http://Mmh2JU60.wbyLy.cn
http://CY7ZtgQe.wbyLy.cn
http://o4JcXZmd.wbyLy.cn
http://www.dtcms.com/a/381694.html

相关文章:

  • OpenCV 教程——从像素到智能:图像预处理关键技巧与零售货架缺货检测实战
  • 面试鸭Java八股之Kafka
  • 【学习K230-例程23】GT6700-音频FFT柱状图
  • 【Chrome】chrome 调试工具的network选项卡,如何同时过滤出doc js css
  • python--MediaPipe-opencv眨眼检测
  • 2.2.蓝桥杯-数位递增的数
  • leetcode 3541. 找到频率最高的元音和辅音 简单
  • Spring Boot 与微服务网关集成问题:Zuul、Spring Cloud Gateway 与鉴权策略
  • algorithm | Big O notation
  • 开发指南:使用 MQTTNet 库构建 .Net 物联网 MQTT 应用程序
  • 【代码随想录day 25】 力扣 47.全排列 II
  • 驱动开发系列73 - clEnqueueNDRangeKernel实现
  • Unity 性能优化 之 静态资源优化 (音频 | 模型 | 纹理 | 动画)
  • 服装贸易管理系统推荐及软件选型指南
  • 音视频的下一站:协议编排、低时延工程与国标移动化接入的系统实践
  • Python核心技术开发指南(064)——with语句
  • 打造高效AI助手的秘密武器 - Parlant
  • Stanford CS336 | Assignment 1 - Transformer Language Model Architecture
  • 计算机视觉(opencv)实战十八——图像透视转换
  • 【二开】CRMEB开源版按钮权限控制
  • 联邦学习过程中,了解清楚影响准确率的因素有哪些也很重要
  • Ubuntu 文件复制大师:精通cp命令完整指南
  • 给定单词倒排
  • Golang | http/server Gin框架简述
  • Android-EDLA XTS常用网站总结
  • Android webview更新记录-aosp
  • 大数据电商流量分析项目实战:Flume 数据采集及ETL入仓(五)
  • 用 PyTorch 打造 AIOps 小体系:日志异常、指标预测与训练失败根因分析
  • 涂鸦智能携手亚马逊云科技,以全球基础设施与生成式AI加速万物智联时代到来
  • 【完整源码+数据集+部署教程】交通工具图像分割系统: yolov8-seg-C2f-RFCAConv