Intellij idea未能推送到github

Intellij idea未能推送到github,git,github,intellij-idea,push,jetbrains-ide,Git,Github,Intellij Idea,Push,Jetbrains Ide,这个问题在互联网上有很多变体,我试着按照其他问题的答案回答,但都没有用 问题基本上是,每当我尝试将更改推送到github的存储库时,都会出现以下错误: “权限被拒绝(公钥)。 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。” 我的ssh密钥是~/.ssh/github_rsa和github_rsa.pub。 我已经设置了密码短语和.bashrc文件@%userprofile%: env=~/.ssh/agent.env agent_load_env () { tes

这个问题在互联网上有很多变体,我试着按照其他问题的答案回答,但都没有用

问题基本上是,每当我尝试将更改推送到github的存储库时,都会出现以下错误: “权限被拒绝(公钥)。 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。”

我的ssh密钥是~/.ssh/github_rsa和github_rsa.pub。 我已经设置了密码短语和.bashrc文件@%userprofile%:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add ~/.ssh/github_rsa
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add ~/.ssh/github_rsa
fi

unset env
我还将ssh客户端的Intellij设置更改为本机。
在git bash中,每个操作都可以正常工作,但在Intellij中没有。

好的,所以我终于能够修复这个乏味的错误。 您需要做的是在~/.ssh/config中创建一个ssh配置 像这样:

这是因为Intellij希望密钥文件在默认情况下是id_rsa,所以我们需要对其进行一些指导。 之后,我在设置中将ssh客户端从本机切换回内置,瞧

Host github.com
    User git
    IdentityFile ~/.ssh/github_rsa