[工作经验]为什么配置了gitee ssh公钥 但是仓库还要输入账号密码 拉取
配置了Gitee SSH公钥但仍需输入账号密码,通常由以下原因导致:
第一: 远程仓库URL协议不匹配
Git默认使用HTTPS协议进行仓库操作,即使配置了SSH密钥,若远程URL仍以https://
开头,推送时仍会触发账号密码验证。需将远程仓库地址改为SSH格式(以git@
开头),例如:
bashCopy Code
git remote set-url origin git@gitee.com:username/repo.git
SSH密钥配置问题
- 密钥权限:私钥文件(如
id_rsa
)权限应设为600(仅所有者可读写),~/.ssh目录权限设为700(仅所有者可读写执行)。 24 - 密钥类型:确保使用ed25519等受支持的加密算法生成新密钥,并更新至Gitee账户。 2
- SSH Agent未启动:通过命令
ssh-add \~/.ssh/id_rsa
加载私钥,或确保ssh-agent
服务在后台运行。 34
多密钥冲突
若本地存在多个密钥(如公司邮箱与个人邮箱分开配置),可能导致身份验证混乱。需确保当前项目使用的密钥与远程仓库绑定的公钥匹配。 5
建议按顺序排查:
- 执行
git remote -v
确认远程URL是否为SSH格式; - 检查私钥权限与SSH配置;
- 确认当前项目使用的密钥与远程仓库绑定公钥一致。
排查结果
真的是https
改为 ssh
再拉取,果然不需要输入账号密码了
本作品采用《CC 协议》,转载必须注明作者和本文链接