由于公钥已经注册到GitHub 用户账户设置中,所以才能进行下一步操作。
通常这类代码仓库托管服务会使用SSH 强制命令 来填充其~git/.ssh/authorized_keys
:
command="/path/to/script userID",\
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty \
ssh-rsa <yourPublicKey>
替换为:
ssh-rsa <yourPublicKey>
逻辑上:
当您在GitHub上注册公钥时,GitHub将把公钥与您的帐户关联。
然后GitHub使用公钥对您进行身份验证,您需要使用私钥完成身份验证过程。
如果您通过了身份验证,GitHub将根据步骤1知道您的帐户。
SSH密钥身份验证只需在第一次明确设置密钥时使整个过程隐式化。
用户名/密码身份验证每次都是显式的。
git pull
时,它如何知道git pull
来自哪个用户? - Jeff TianGIT_SSH_COMMAND="ssh -v"
来查看正在发生的情况。然后执行您的git pull
操作(假设origin
是一个SSH URL)。 - VonC