Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
848 views
in Technique[技术] by (71.8m points)

github - To use <git push> on Visual Studio Code, but show "Could not read from remote repository."

I started studying Git and GitHub.

And now, I could create my repository to practice and I could push commits to origin repository(in GitHub) on git bash.

But when I tried to push on Visual Studio Code, I have received this error

Permission denied (publickey).

fatal: Could not read from remote repository.

and failed to push to origin repository.

but I already remote local repository to origin repository with ssh key on git bash and I could complete push and pull between local repository and origin repository.

In others' case, they were asked GitHub credentials to push or sync, but in my case, I could not be asked any credentials like ssh key.

In this case, What should I do? Thank you.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I thought the answer by @codewizard was the correct one. Seems VS Code uses 'id_rsa.pub' key only, it was not using my other ssh key pair that git.exe was configured to use.(This key wasn't name id_rsa.) However after generating a new id_rsa key pair, I still got permission denied (publickey).

I Found my answer on this blog entry, seems vs code doesn't have a ssh-agent to interact with?

http://blog.alner.net/archive/2015/08/24/vs_code_with_git_ssh_keys_that_use_passphrases.aspx

The solution on the blog being

  • Open a command prompt.
  • Run "start-ssh-agent" and answer passphrase prompts.
  • Run "code" to launch VS Code from that environment.

I used git-bash
start the ssh agent: eval "$(ssh-agent -s)"
then "code" to launch VS Code

Note: As @JoshuaH points out in the comments, you can create a windows shortcut to simply the steps above. cmd /c start-ssh-agent & code

git fetch started working. However I started to get a openssh passphrase box every x minutes(untimed)

so I then rechecked the key was added again using git-bash
then "ssh-add ~/.ssh/id_rsa"
then git config --global credential.helper wincred

If you want a password prompt every time, then ignore the two previous commands and disable autofetch in VS Code's settings.
"git.autofetch": "true" in VS code settings to "git.autofetch": "false"


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...