我的Bitbucket多个帐户有问题。
这是我目前的情况:
MacOS Catalina 10.15.5
我的〜/ .ssh文件夹具有以下内容:
-rw-------+ 1 myuser mygroup 1679 12 oct 2016 id_rsa -rw-r--r--@ 1 myuser mygroup 411 12 oct 2016 id_rsa.pub -rw-------+ 1 myuser mygroup 1823 25 feb 13:50 mycompany -rw-r--r--@ 1 myuser mygroup 394 25 feb 13:50 mycompany.pub
我有一个Bitbucket公司帐户,其SSH密钥与mycompany.pub相同
我有一个Bitbucket个人帐户,其SSH密钥与id_rsa.pub相同
无论何时我做任何与我的Bitbucket个人帐户有关的事情(git clone,push ...),一切都很好。
另一方面,要使用我的Bitbucket公司帐户执行操作,我必须将用户名添加到命令中,例如:
git clone https://mycompany@bitbucket.org/blablabla
如果我不添加用户名,则会出现权限错误。 这是一个使用我无法修改的脚本的大问题(例如,使用“ pod lib lint”和访问我公司的bitbucket私有存储库的东西)。
到目前为止我已经尝试过:
$ eval `ssh-agent -s` Agent pid 5788
$ ssh-agent sh -c 'ssh-add; ssh-add -l' Identity added: /path/to/my/user/.ssh/id_rsa (/path/to/my/user/.ssh/id_rsa) 2048 SHA256:... /path/to/my/user/.ssh/id_rsa (RSA)
$ ssh-add ~/.ssh/mycompany Identity added: /path/to/my/user/.ssh/mycompany (mycompany)
$ ssh-agent sh -c 'ssh-add; ssh-add -l' Identity added: /path/to/my/user/.ssh/id_rsa (/path/to/my/user/.ssh/id_rsa) 2048 SHA256:... /path/to/my/user/.ssh/id_rsa (RSA)
我也尝试过更改〜/ .ssh配置文件:
Host * UseKeychain yes
对此:
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa Host mycompanybitbucket Hostname bitbucket.org User mycompany AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/mycompany
重新启动外壳程序并重试所有操作,结果相同:我无权访问公司的bitbucket存储库。
我想念什么?
编辑:
我尝试了另一件事,使事情变得更加混乱。
如果我用mycompany和mycompany.pub覆盖id_rsa和id_rsa.pub并运行它:
ssh-agent sh -c'ssh-add; ssh-add -l'
输出是这样的:
Identity added: /path/to/my/user/.ssh/id_rsa (mycompany) 2048 SHA256:... mycompany (RSA)
这使我觉得证书这次是正确的,一切都应该正常工作。但是,在此之后,所有git命令都不会继续返回权限错误。
答案 0 :(得分:0)
好吧,我终于明白了。我的问题在于对https://bitbucket.org的所有访问权限,他们需要包括用户名,但在某些地方我无法编辑这些URL。
因此,我正在研究如何向这些URL添加默认用户名,并且该方法有效。 只需运行这两个命令即可解决我的问题:
$ git config --global credential.helper cache $ git config --global credential.https://bitbucket.org.username mycompany