执行git pull时如何指定要使用的私有SSH密钥
可以实现,以下是3种常见的实现方案,都不需要做全局配置
单次执行git命令时临时指定密钥
用GIT_SSH_COMMAND环境变量指定SSH调用参数即可,仅对当前命令生效:GIT_SSH_COMMAND="ssh -i ~/git_key" git pull git@github.com:User/Repository.git其中
-i参数后面跟你的私钥文件路径即可。针对单个 Git 仓库长期绑定指定密钥
进入对应仓库的本地目录后,执行仓库级别的配置命令,配置完成后后续在该仓库执行pull、push等操作都会自动使用指定密钥,不影响其他仓库和全局配置:git config core.sshCommand "ssh -i ~/git_key"该配置会保存在仓库目录下的
.git/config文件中,仅对当前仓库生效。通过SSH配置别名复用指定密钥
如果你需要频繁对多个不同仓库使用不同密钥,可以在本地~/.ssh/config文件中添加专属Host别名配置:Host github-custom HostName github.com User git IdentityFile ~/git_key IdentitiesOnly yes配置完成后,直接用别名拉取即可:
git pull github-custom:User/Repository.git其中
IdentitiesOnly yes参数可以避免SSH客户端默认尝试其他本地密钥导致认证失败。
小补充:你提到的
~/.ssh/authorized_keys是SSH服务端用于存放授权公钥的文件,本地私钥不需要放到这个路径下。
内容的提问来源于stack exchange,提问作者Curicows
相关产品推荐
相关产品推荐

