git - 连接 Bitbucket 时更改 SSH 用户名

标签 git ssh bitbucket

我刚刚继承了一台笔记本电脑,其项目托管在 Atlassian 等上。我已经设置了 Git 和我的 Bitbucket 配置文件。然而,当我表演时

ssh -T git@bitbucket

连接是使用前一个人的用户名建立的。我有

  • 更改了本地全局 Git 配置上的用户名和电子邮件
  • 已验证 key 文件(即 id_rsa 等)未引用此用户名
  • 针对该特定用户名执行了彻底的文件搜索

我不知道为什么 SSH 使用该用户连接到 Bitbucket。任何帮助将不胜感激。

最佳答案

Bitbucket 全局处理公钥,这意味着任何两个用户都不能注册相同的 SSH key 。因此,当我尝试连接时,Bitbucket 假定是以前的用户,因为它找到的 key 仍然附加到我前任的用户帐户中。

生成一个新的 SSH key ,覆盖之前的 key ,然后将公钥添加到我的 Bitbucket 帐户即可解决该问题。

现在,ssh -T <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="16717f6256747f627463757d736238796471" rel="noreferrer noopener nofollow">[email protected]</a>使用我的用户名解析。

编辑

我还使用配置文件来管理我的主机

Host project1.bitbucket
 HostName bitbucket.org
 IdentityFile path/to/pub_key_a

Host project2.bitbucket
 HostName bitbucket.org
 IdentityFile path/to/pub_key_b

然后将 Git 远程设置为

[remote "origin"]
    url = <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="56313f22162624393c3335226778343f223423353d3322" rel="noreferrer noopener nofollow">[email protected]</a>:orgname/project1.git
    fetch = +refs/heads/*:refs/remotes/origin/*

(将 project1 更改为存储库名称,将 orgname 更改为存储库所有者的名称等)

这是如何将不同的 SSH key 与不同的 Git 存储库等一起使用。

关于git - 连接 Bitbucket 时更改 SSH 用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48211494/

相关文章:

Eclipse EGIT - 所有提交, pull , merge ,标记为 merge ,仍在推送我得到 "rejected - non-fast forward",我错过了什么?

git - git 描述文件中应该包含什么?

git - 我们可以在 Azure DevOps 中锁定文件吗?

MySQL 通过 ssh 连接将 .sql 文件复制到数据库中

javascript - 如何获取特定用户的所有存储库?

当存在同名文件时 Git 更改分支

java - 连接到 ssh 应用程序中的数据库

python - 我可以手动 ssh,但不能通过脚本 - 权限被拒绝(公钥)

php - 在 PHP 中使用摘要身份验证的 Curl 请求用于下载 Bitbucket 私有(private)存储库

git - Bitbucket gnutls_handshake() 失败 : Error in the pull function