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

相关推荐
q***555843 分钟前
使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南
运维·nginx·https
wanhengidc5 小时前
云手机是由什么组成的?
运维·服务器·web安全·游戏·智能手机
likuolei7 小时前
Git 与 SVN 区别
git·svn
wanhengidc9 小时前
网站服务器都有哪些作用?
运维·服务器·科技·智能手机·云计算
百***757410 小时前
linux上redis升级
linux·运维·redis
小小编程能手11 小时前
Linux文件编程
linux·运维·服务器
木童66211 小时前
nginx安装步骤详解
linux·运维·服务器·网络·nginx
暴躁的菜鸡12 小时前
Ubuntu安装向日葵
linux·运维·ubuntu
wa的一声哭了12 小时前
Webase部署Webase-Web在合约IDE页面一直转圈
linux·运维·服务器·前端·python·区块链·ssh
charlee4412 小时前
Git使用经验总结8-Git仓库历史记录清除
git·powershell·敏感信息·仓库重置·历史重写