如何在 BitBucket 中更改 git 终端凭据?
How to change git terminal credentials in BitBucket?
我的本地计算机上有旧的 BitBicket 登录凭据。我需要将其更改为我的工作凭证。我该如何改变这一切?现在我正试图推送到我的工作登录凭据。我得到以下信息,我认为这是因为我需要更改登录凭据和 ssh 密钥?
myapp (master) ✔ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
如果您可以生成一个新的 ssh 公钥并将其添加到您的帐户中,会不会更好?
一个可能的解决方案是在 ~/.ssh/config 中设置您的 git 主机以及您用于工作的私钥(示例 ~/.ssh/id_rsa_work
。因此,添加关注 ~/.ssh/config
:
Host workid
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa_work
然后将 public 密钥添加到您的 bitbucket 帐户(即复制 cat ~/.ssh/id_rsa_work.pub
的内容并在您的 bitbucket 帐户的 SSH 密钥部分使用它们)
然后你可以做一个
git clone git@workid:<accountname>/<reponame>.git
对于现有存储库,请执行以下步骤:
获取遥控器列表:
git remote -v
更改遥控器url:
git remote set-url origin git@workid:<accountname>/<reponame>.git
然后运行第一个命令再次确认远程url已经更新。
这种方法的好处是您可以根据需要设置任意数量的 SSH 密钥(例如,使用 and/or private)来访问 bitbucket 存储库。
如果按照上述路线进行,请记住为 ~/.ssh/config
文件设置正确的权限和所有权:
chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
为了解决每个帐户的不同电子邮件、身份的问题,存在一种使用预提交挂钩的方法,详见
TL;DR
当我的 ssh 密钥从我的 ssh 代理丢失时,我遇到了这种情况。我通过将它添加到 ssh 代理解决了这个问题。
长答案
我在 Macbook 上安装更新后重新启动。重启后,我首先从事(并推送到 bitbucket)一个个人项目。然后我想在我的“工作”项目上工作并推送到适当的回购协议。 git push
这次失败了。
设置GIT_SSH_COMMAND=ssh -v
帮助识别我的个人帐户的 ssh 密钥正在被使用。然后我检查了添加到SSH代理的密钥,只列出了我的个人帐户。
$ ssh-add -l
3072 SHA256:xxx...xxx raiyan_kamal (RSA)
我也检查过ssh -T
$ ssh -T
logged in as raiyan_kamal
...
我工作帐户的 SSH 密钥是 work_key,名字是 raiyan@work。所以现在我向我的代理添加了适当的密钥:
ssh-add <path to my work_key private key file>
然后检查以确保列出了两个密钥:
$ ssh-add -l
3072 SHA256:xxx.xxx raiyan_kamal (RSA)
2048 SHA256:yyy.yyy raiyan@work (RSA)
现在git push
工作项目回购工作。
我的本地计算机上有旧的 BitBicket 登录凭据。我需要将其更改为我的工作凭证。我该如何改变这一切?现在我正试图推送到我的工作登录凭据。我得到以下信息,我认为这是因为我需要更改登录凭据和 ssh 密钥?
myapp (master) ✔ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
如果您可以生成一个新的 ssh 公钥并将其添加到您的帐户中,会不会更好?
一个可能的解决方案是在 ~/.ssh/config 中设置您的 git 主机以及您用于工作的私钥(示例 ~/.ssh/id_rsa_work
。因此,添加关注 ~/.ssh/config
:
Host workid
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa_work
然后将 public 密钥添加到您的 bitbucket 帐户(即复制 cat ~/.ssh/id_rsa_work.pub
的内容并在您的 bitbucket 帐户的 SSH 密钥部分使用它们)
然后你可以做一个
git clone git@workid:<accountname>/<reponame>.git
对于现有存储库,请执行以下步骤:
获取遥控器列表:
git remote -v
更改遥控器url:
git remote set-url origin git@workid:<accountname>/<reponame>.git
然后运行第一个命令再次确认远程url已经更新。
这种方法的好处是您可以根据需要设置任意数量的 SSH 密钥(例如,使用 and/or private)来访问 bitbucket 存储库。
如果按照上述路线进行,请记住为 ~/.ssh/config
文件设置正确的权限和所有权:
chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
为了解决每个帐户的不同电子邮件、身份的问题,存在一种使用预提交挂钩的方法,详见
TL;DR
当我的 ssh 密钥从我的 ssh 代理丢失时,我遇到了这种情况。我通过将它添加到 ssh 代理解决了这个问题。
长答案
我在 Macbook 上安装更新后重新启动。重启后,我首先从事(并推送到 bitbucket)一个个人项目。然后我想在我的“工作”项目上工作并推送到适当的回购协议。 git push
这次失败了。
设置GIT_SSH_COMMAND=ssh -v
帮助识别我的个人帐户的 ssh 密钥正在被使用。然后我检查了添加到SSH代理的密钥,只列出了我的个人帐户。
$ ssh-add -l
3072 SHA256:xxx...xxx raiyan_kamal (RSA)
我也检查过ssh -T
$ ssh -T
logged in as raiyan_kamal
...
我工作帐户的 SSH 密钥是 work_key,名字是 raiyan@work。所以现在我向我的代理添加了适当的密钥:
ssh-add <path to my work_key private key file>
然后检查以确保列出了两个密钥:
$ ssh-add -l
3072 SHA256:xxx.xxx raiyan_kamal (RSA)
2048 SHA256:yyy.yyy raiyan@work (RSA)
现在git push
工作项目回购工作。