开发者社区 问答 正文

Git@OSC添加公钥后PUSH被要求输入密码:报错

添加公钥后ssh -T验证成功,git push origin dev却要求输密码,怎么输都不对

展开
收起
kun坤 2020-06-06 11:39:43 800 分享 版权
阿里云 AI 助理回答

遇到git push命令要求输入密码,即使使用SSH公钥验证成功的情况,可能是由于以下几个原因导致的:

  1. SSH密钥未正确配置到Git仓库: 确保您添加的公钥已关联到正确的Git仓库。在云效Codeup中,您需要检查代码库的部署密钥设置,确认该公钥已被添加为已启用密钥

  2. 本地Git仓库SSH URL配置问题: 检查您的本地Git仓库是否配置了正确的SSH URL。可以通过以下命令查看:

    git remote -v
    

    如果显示的URL是以https://开头而非ssh://git@github.com:形式,您需要重新配置为SSH URL。执行如下命令替换现有的远程origin:

    git remote set-url origin git@codeup.aliyun.com:your_username/your_repo.git
    
  3. 多个SSH密钥或配置问题: 确认没有其他SSH密钥干扰认证流程。编辑SSH配置文件(通常位于~/.ssh/config),确保为特定的Git服务器域名配置了正确的密钥路径,示例如下:

    Host codeup.aliyun.com
       IdentityFile ~/.ssh/your_private_key
    

    如果存在多对密钥,请确认正在使用的是与您添加到云效平台相匹配的那一对。

  4. HTTPS凭证缓存问题: 之前可能使用HTTPS方式克隆或操作过仓库,导致系统(尤其是MacOS)钥匙串中保存了旧的用户名和密码凭据。按照知识库中的指导,清理这些缓存的凭据,并确保使用SSH进行认证。

  5. 云效平台的HTTPS密码设置: 虽然您当前尝试使用SSH,但请检查是否在云效平台设置了HTTPS密码,并且在某些操作中意外触发了HTTPS认证流程。如果设置了,请确保不会在git push时误用此密码。

通过上述步骤排查并修正后,再次尝试git push origin dev应该能够直接利用SSH密钥完成认证,无需输入密码。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答