公开仓库改私有再配置公钥后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 密钥是否正确配置,或者是否有其他网络或权限问题。

相关推荐
PHOSKEY28 分钟前
闪测仪应用案例丨手机中框如何突破「尺寸检测」瓶颈?
运维·智能手机·自动化
JIAKSK1 小时前
VitePress 接入百度统计:全面教程与优化指南
运维·数据可视化
网硕互联的小客服1 小时前
未来趋势:AI与量子计算对服务器安全的影响
运维·服务器·网络·网络安全·量子计算
宇钶宇夕2 小时前
STEP 7 MicroWIN SMART V2.2 的详细安装步骤及注意事项
运维·服务器·程序人生·自动化
czhc11400756632 小时前
Linux 77 FTP
linux·运维·服务器
天若有情6733 小时前
【Linux】02_CentOS 7 开机运行级别详解:从基础概念到实战配置
linux·运维·centos
張萠飛3 小时前
Linux中程序的limits中的Max open files的配置由哪些参数决定
linux·运维·服务器
一心09211 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上11 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊11 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins