如何在BitBucket中更改git终端凭据?

时间:2015-12-15 15:20:09

标签: git github 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.

3 个答案:

答案 0 :(得分:2)

一种可能的解决方案是在〜/ .ssh / config中设置您的git主机以及您用于工作的私钥(示例~/.ssh/id_rsa_work。因此,请将以下内容添加到~/.ssh/config

Host workid
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa_work

然后将公钥添加到您的bitbucket帐户(即复制cat ~/.ssh/id_rsa_work.pub的内容并在bitbucket帐户的SSH密钥部分中使用它们)

然后你可以做一个

git clone git@workid:<accountname>/<reponame>.git

对于现有存储库,请按以下步骤操作:

  1. 获取遥控器列表:

    git remote -v

  2. 更改远程网址:

    git remote set-url origin git@workid:<accountname>/<reponame>.git

  3. 然后再次运行第一个命令以确认远程URL已更新。

    这种方法的好处是您可以设置任意数量的SSH密钥(例如,工作和/或私有)来访问bitbucket仓库。

    如果走上述路线,请记住为~/.ssh/config文件设置正确的权限和所有权:

    chown $USER ~/.ssh/config
    chmod 644 ~/.ssh/config
    

    要解决每个帐户的不同电子邮件,身份的问题,有一种方法可以使用https://stackoverflow.com/a/23107012/325742

    中详述的预提交挂钩

答案 1 :(得分:1)

如果您可以生成新的ssh pubkey并将其添加到您的帐户中,会更好吗?

enter image description here

答案 2 :(得分:0)

TL; DR

当我的ssh密钥从ssh代理发送错误消息时,我遇到了这种情况。我通过将其添加到ssh代理中解决了该问题。

好答案

在Macbook上安装更新后,我重新启动。重看之后,我首先从事了一个个人项目(并推动了他的工作)。然后,我想在我的“工作”项目中工作并推送到适当的仓库。 /path/to/script/get-quote.py这次失败了。

设置git push有助于确定我的个人帐户的ssh密钥已被使用。然后,我检查了添加到SSH代理的密钥,只列出了我的个人帐户。

GIT_SSH_COMMAND=ssh -v

我还与$ ssh-add -l 3072 SHA256:xxx...xxx raiyan_kamal (RSA)

进行了核对
ssh -T

我的工作帐户的SSH密钥为work_key,名称为raiyan @ work。因此,现在我向代理添加了适当的密钥:

$ ssh -T
logged in as raiyan_kamal
...

然后检查以确保列出了两个键:

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) 已进入工作项目仓库。