github - 当我使用ssh登录时git如何知道我是谁?

标签 github ssh

我使用以下说明为 github 设置了 SSH 登录,虽然它有效,但我不明白它为什么有效:https://help.github.com/articles/generating-ssh-keys/

我对SSH的理解是这样的:客户端创建一个 key 对,客户端将公钥提供给服务器,当客户端想要登录时,他使用他的私钥对服务器选择的消息进行加密,以证明他确实是客户端。

现在:我将我的公钥 XXX 上传到 Github。当我执行“ssh -T git@github.com”时,Github 必须知道我正在尝试以我的身份登录,以便他可以使用 XXX 解密我的消息,对吧?所以 ssh 必须发送该信息...但是 ssh 如何知道有关 Github 的任何信息,或者我的用户名是什么?如果我有多个 key 对怎么办 - ssh 将使用哪个 key ?

最佳答案

当您将 SSH 公钥添加到 GitHub 帐户时,您将该 key 与您的 GitHub 帐户相关联。

默认情况下,命令 ssh -T git@github.com 搜索 id_dsaid_rsa 文件。要确认这一点,请尝试 ssh -T git@github.com -v

如果您有与不同 github 帐户关联的 key ,则必须使用 -i 指定才能使用不同的帐户。 ssh -T git@github.com -i/path/to/mykey

关于github - 当我使用ssh登录时git如何知道我是谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34933346/

相关文章:

git - git 可以通过 ssh 端口转发工作吗?

Git 存储库同步

linux - ssh 上的通配符不起作用

ssh - 如何从 Circleci ssh 到 GCP 计算引擎实例?

linux - 期望脚本在 2 个服务器之间远程 SSH

git - 有谁知道如何让 github ssh 在 2019 年 12 月在 WSL(Linux 的 Windows 子系统)上正确工作

bash - 使用 GitHub 时防止将大文本文件添加到提交中

R github 包 w/devtools : warning unknown macro '\item'

ruby-on-rails - 一个github仓库的star数有什么意义?

git - 致命的 : 'origin' does not appear to be a git repository