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

相关推荐
神秘人X70730 分钟前
Jenkins 持续集成与部署指南
运维·ci/cd·jenkins
晓梦.42 分钟前
Linux
linux·运维·服务器
运维帮手大橙子1 小时前
Linux如何安装使用Rust指南
linux·运维·rust
千百元1 小时前
centos怎么查看磁盘是机械还是固态
linux·运维·centos
LoneEon1 小时前
CentOS 7 系统安装教程
linux·运维·centos
2301_793167991 小时前
网络基础总结
运维·网络·hcia
ssswywywht1 小时前
搭建本地时间同步服务器
linux·运维·服务器
广商 小轩1 小时前
自动化实战 Playwright破解滑块验证码的完整实战指南
运维·自动化
Gss7772 小时前
jenkins介绍与部署
运维·jenkins
FJW0208142 小时前
Linux编辑神器——vim工具的使用
linux·运维·vim