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

公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题

问题描述·:git拉取私有仓库需要输入用户名和密码

我之前写了一个脚本用来定时自动拉取远程仓库更新本地仓库,后来将这个远程仓库改成私有后执行脚本就会需要输入用户名和密码。

[root@LH2020 ~]# ./sync_repo.sh
正在从远程仓库拉取最新更改…
Username for ‘https://gitee.com’: ^C

原因:

当将仓库设置为私有后,Git 会要求进行身份验证以确保只有授权用户可以访问。如果已经配置了 SSH 公钥,但是 Git 仍然提示你输入用户名和密码,这可能是因为你的远程仓库的 URL 仍然是 HTTPS 格式的,而不是 SSH 格式的。

解决步骤:

  1. 检查远程仓库 URL
    打开终端,进入你的 Git 仓库目录,然后运行以下命令来查看当前的远程仓库 URL:

    git remote -v
    

    如果 URL 是以 https:// 开头的,你需要将其更改为 SSH 格式。

  2. 更改远程仓库 URL
    使用以下命令将远程仓库的 URL 从 HTTPS 格式更改为 SSH 格式:

    git remote set-url origin git@gitee.com:username/repo.git
    

    其中 username 是你的 Gitee 用户名,repo 是你的仓库名。

  3. 添加 SSH 密钥到 Gitee
    确保你的公钥已经添加到了 Gitee 的 SSH 密钥列表中。你可以在 Gitee 的个人设置页面找到 SSH 密钥的添加和管理选项。

  4. 测试 SSH 连接
    使用以下命令测试 SSH 连接是否成功:

    ssh -T git@gitee.com
    

    如果连接成功,你将看到一条欢迎信息。 例如:

[root@LH2020 resume-2]# ssh -T git@gitee.com
The authenticity of host 'gitee.com (180.76.198.225)' can't be established.
...
...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,180.76.198.225' (ECDSA) to the list of known hosts.
Hi **(@******)! You've successfully authenticated, but GITEE.COM does not provide shell access.
  1. 重新拉取仓库
    现在,再次运行 git pullgit push 时,Git 应该会使用 SSH 密钥进行身份验证,而不再提示你输入用户名和密码。

如果已经按照上述步骤操作,但问题仍然存在,可能需要检查你的 SSH 密钥是否正确配置,或者是否有其他网络或权限问题。


http://www.kler.cn/a/392344.html

相关文章:

  • 虚幻引擎 CEO 谈元宇宙:发展、策略与布局
  • ubuntu中apt-get的默认安装路径。安装、卸载以及查看的方法总结
  • 【QT】QSS
  • K8s进阶使用
  • 分享一个傻瓜式一键启动的加速器
  • 【网络工程】计算机硬件概述
  • 普通用户切换到 root 用户不需要输入密码配置(Ubuntu20)
  • vxe-table 3.10+ 进阶高级用法(一),根据业务需求自定义实现筛选功能
  • 【软考】系统架构设计师-计算机系统基础(2):操作系统
  • 【Linux】Linux 命令awk和sed的简单介绍
  • Vestar:AI造神邸,颠覆Meme叙事的新范式
  • 45.第二阶段x86游戏实战2-hook监控实时抓取游戏lua
  • 【python GUI编码入门-24】使用Tkinter构建一个简单的音乐播放器
  • 【Linux:IO多路复用(select函数)
  • 新的服务器Centos7.6 安装基础的环境配置(新服务器可直接粘贴使用配置)
  • 数据集标注txt文件读取小工具
  • # 如何查看 Ubuntu 版本?
  • Java | Leetcode Java题解之第559题N叉树的最大深度
  • 漏洞分析 | Spring Framework路径遍历漏洞(CVE-2024-38816)
  • 小波神经网络:结合小波变换与神经网络的力量(附Pytorch代码实现)
  • 详细介绍MySQL、Mongo、Redis等数据库的索引
  • Prometheus常用查询PromQL表达式
  • 国家网络安全法律法规
  • mqtt学习笔记(一)
  • 汽车共享管理:SpringBoot技术的应用与挑战
  • 操作系统离散存储练习题