• 记录一次Bitbucket鉴权的坑


    发生了什么

    今天首次在Fedora上使用git,因为没有小王八(TortoiseGit)帮助,其过程异常焦灼……

    反正经过一系列折腾,我在本地新建了一个项目并将其加入git控制……

    $ git init
    $ git config user.name
    $ git config user.email

    然后我想把这个库放到远端bitbucket上,于是在bitbucket上新建了一个repo,然后进行添加……

    $ git remote add origin https://xxx@xxx/xxx/xxx.git
    $ git commit -m "Init repo"
    $ git push origin master

    因为是头一次在Fedora上部署Git,所以按照惯例,这个时候弹出密码输入,我像往常那样把Bitbucket的账户密码输了进去……

    ****...****

    然后就出事了……

    fatal: Authentication failed for 'https://xxx@xxx/xxx/xxx.git'

    什么原因

    我还在纳闷我是不是密码敲错了,于是我就从浏览器那边把bitbucket注销重新登录,确认了密码没有问题之后又试了一次,然而涛声依旧……

    于是我开始怀疑是不是没加入RSA公钥导致的,但是按照说明生成了密钥并添加到Bitbucket中继续登录……

    $ ssh-keygen

    结果还是不行……

    然后我往前翻,才发现问题所在……

    [2022-09-26T09:52:34.250Z] > git push origin master [6214ms]
    [2022-09-26T09:52:34.250Z] remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
    remote: See our community post for more details: https://atlassian.community/t5/x/x/ba-p/1948231
    remote: App passwords are recommended for most use cases and can be created in your Personal settings:
    remote: https://bitbucket.org/account/settings/app-passwords/
    fatal: Authentication failed for 'https://xxx@xxx/xxx/xxx.git'

    从上面提到的这个链接指向了一篇Bitbucket的声明,大概意思是:

    你个老登你奥特啦,我们从2022年3月开始就不再使用账户密码登录的方式进行Git的一般控制啦,取而代之地,对每个Application我们单独给密码啦(App密码)!

    总之,就是他们认为这个玩意更安全,于是弃用了以前的登录方式……

    如何解决

    于是继续按照他给的第二个链接进入Bitbucket仓库后台添加App密码……

    image

    填写上述信息勾选合适的访问权限后,点击“创建”稍等片刻就会生成下面这一坨密码……

    密码已失效

    这一坨务必要妥善保存,因为一旦点了关闭之后你就再也没有机会看到这个密码了……除非你去Bitbucket后台重新申请,当然,在后台你也可以选择作废已经产生的密码。

    当然,不必担心我的截图没有打码,因为当您看到这串密码的时候,它已经作废了

    然后在push的时候再次提示密码输入,这个时候再把上面这一坨填进去(或者粘进去),终于……

    To https://xxx@xxx/xxx/xxx.git
    * [new branch] master -> master

    如果不希望每次push的时候重新输入密码,那么就……

    $ git config user.password ATBBdGdbGQSq2UkDu2TATgUq7GcK604EA610

    当然,保险起见,我还是把这一坨东西保存到别的位置去了Orz……

    总结

    ……
    Bitbucket你个老登!

  • 相关阅读:
    JS 获取一个对象的 key 值和 value 值
    nfs服务器之间实现目录共享
    Java设计模式之单例模式(多例)、原型模式
    SpringBoot使用AOP记录接口操作日志
    2021年JAVA 精心整理的常见面试题-附详细答案【持续更新~~】
    为什么你觉得FPGA难学?如何入门?
    数据分析面试手册《指标篇》
    redis我记不住的那些命令(一)
    【In-Context Learning】Meta-learning via Language Model In-context Tuning
    土壤电导率(EC值)传感器
  • 原文地址:https://www.cnblogs.com/oberon-zjt0806/p/16732022.html