You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在终端指定Git Pull的用户?SSH权限拒绝问题解决

解决Git拉取时Permission denied (publickey)问题及指定身份方法

首先明确:使用SSH地址(git@github.com:<repo>/<repo>.git)时,地址里的git是GitHub的SSH服务专用用户,不是你的GitHub账号名,没法直接通过修改这个部分指定用户。要关联到你的账号,得通过SSH密钥匹配,以下是具体解决方法:

1. 先验证SSH密钥是否有效

执行命令测试当前SSH连接:

ssh -T git@github.com

如果返回Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.说明密钥有效;如果还是Permission denied,先确认你的公钥已经添加到GitHub账户的SSH密钥列表中。

2. 临时指定密钥拉取

如果本地有多个SSH密钥,想临时用特定密钥拉取,执行:

GIT_SSH_COMMAND="ssh -i ~/.ssh/你的密钥文件名" git pull

替换~/.ssh/你的密钥文件名为实际的私钥路径,比如~/.ssh/id_rsa_mygithub。

3. 永久配置指定密钥

通过修改SSH配置文件,让特定GitHub远程仓库使用指定密钥:

  1. 编辑~/.ssh/config文件(没有的话新建):
Host github-custom
    HostName github.com
    User git
    IdentityFile ~/.ssh/你的密钥文件名
  1. 修改本地仓库的远程地址:
git remote set-url origin github-custom:<repo>/<repo>.git

之后直接执行git pull,就会自动使用配置的密钥对应的身份。

额外检查项

  • 确认本地ssh-agent已经加载了你的密钥:
    先启动ssh-agent(如果没启动):
    eval "$(ssh-agent -s)"
    
    再加载密钥:
    ssh-add ~/.ssh/你的密钥文件名
    

内容的提问来源于stack exchange,提问作者Allennick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:35:27