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

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

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

root@LH2020 \~# ./sync_repo.sh

正在从远程仓库拉取最新更改...

Username for 'https://gitee.com': ^C

原因:

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

解决步骤:

  1. 检查远程仓库 URL

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

    bash 复制代码
    git remote -v

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

  2. 更改远程仓库 URL

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

    bash 复制代码
    git remote set-url origin git@gitee.com:username/repo.git

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

  3. 添加 SSH 密钥到 Gitee

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

  4. 测试 SSH 连接

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

    bash 复制代码
    ssh -T git@gitee.com

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

bash 复制代码
[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 密钥是否正确配置,或者是否有其他网络或权限问题。

相关推荐
OsDepK20 分钟前
移动编程OSMDE随时命令行进行Git
ide·git
Moshow郑锴1 小时前
Ubuntu 26.04 中文输入法 : fcitx5+Rime中州韵引擎
linux·运维·ubuntu
小赖同学啊4 小时前
智能连接器集群化高可用生产方案
linux·运维·人工智能
wanghao6664554 小时前
DevOps 从入门到实践:构建高效交付流水线
运维·devops
qq_546937274 小时前
从“能用”到“超神”,DeepSeek++给网页版装上“大脑”和“手脚”,支持长期记忆、MCP工具与自动化任务!
运维·自动化
ZStack开发者社区4 小时前
基于AI Agent的ZCF API文档全链路自动化
运维·人工智能·自动化
Moshow郑锴4 小时前
Ubuntu 26.04 更换阿里云源镜像
linux·运维·ubuntu
迷糊小面包5 小时前
Docker Hadopp集群版部署搭建及常规问题解疑
运维·docker·容器
ShineWinsu5 小时前
对于Linux:线程概念与分页存储管理的解析
linux·运维·服务器·面试·线程·进程·虚拟空间地址
器灵科技6 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github