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

相关推荐
我爱钱因此会努力2 小时前
ansible自动化运维入门篇
linux·运维·服务器·centos·自动化·ansible
CIb0la2 小时前
能保持精神专注的爱好能给生活带来种种积极的转变
运维·学习·生活
rit84324994 小时前
Git常用命令的详细指南
大数据·git·elasticsearch
梁萌5 小时前
Linux安装mysql8.4.6
linux·运维·mysql安装·8.4.6
FreeBuf_5 小时前
Ubuntu内核曝严重UAF漏洞,可致攻击者获取Root权限
linux·运维·ubuntu
我要升天!5 小时前
Git的原理与使用 -- 分支管理
大数据·git·elasticsearch
聪明努力的积极向上5 小时前
【GIT】VS中图形化页面进行还原和重置的git操作
git
初学者_xuan6 小时前
零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——Keepalived双机热备
运维·自动化·github
行思理6 小时前
Dockerfile 各指令说明
运维·macos·docker·容器·php
半梦半醒*7 小时前
k8s——资源管理
linux·运维·docker·容器·kubernetes·自动化