ssh -T git@bitbucket.org 用户登录

ssh -T git@bitbucket.org user upon login

在我的 macOS 中,ssh -T git@bitbucket.org 显示我以 xyz 身份登录。

id xyz 来自哪里?如何在登录时将其更改为我想要的 git 帐户?现在我正在我的 shell .profile 脚本中使用 ssh-add 来更改它,但只是认为它必须首先来自某个地方?

让我们分解一下这里发生的事情:

ssh -T git@bitbucket.org

这将尝试使用用户名“git”打开与位于“bitbucket.org”的服务器的 SSH 连接。 “-T”只是阻止它尝试实际打开一个交互式连接——效果是登录并立即再次注销。

using the ssh-add in my shell .profile script

为了完全成功,SSH 客户端必须向服务器验证。它使用 public-私钥对执行此操作,该对在客户端和服务器之间自动协商。您的“ssh-add”命令是“身份验证代理”的一部分,它包含要提供给服务器的密钥列表;如果 bitbucket.org 的服务器说它识别其中一个密钥,则该密钥将自动用于验证连接。

请记住,此时您只是作为用户“git”进行身份验证; bitbucket.org 已表示它识别了您的其中一个密钥,并建立了 SSH 连接。

showing me logged in as xyz

接下来发生的是 位于 bitbucket.org 的服务器在其自己的数据库 中查找您使用的密钥 ,并且注意到它与 BitBucket 服务 上的一个用户相关联。它会打印一条有用的消息,告诉您这是哪个用户,然后关闭 SSH 连接。

就 SSH 而言,这不是“用户”,git 也不知道。这完全由 bitbucket.org 的服务器控制。

how do I change it to the git account I want in upon login?

通过选择您用于验证的密钥,并将该密钥与设置面板中的 BitBucket 用户相关联。你没有其他控制权,因为用户只存在于他们的数据库中。