Howto deploy SSH Key authentication for Github with using VS Code Editor
After looking for an adequate solution in the word wide web, I came to the following workaround, which I describe here. I developing in VS Code on Windows 10 and don’t want to run commit and push in the Git Bash terminal again and again, especially because VS Code comes out of the box with all of the Git skills include.
Let’s get started, if you not allready have Git for Windows on your Windows 10, you have to download here.
First open Git Bash and go to directory ~/.ssh, if it’s not exist you can create in windows explorer under the users home path, or type
mkdir .ssh in Git bash.
cd ~/.ssh ssh-keygen -t rsa -b 4096 -C "email@example.com" clip < id_rsa.pub
A key pair as privat and public key are generated, a passphrase you can leave but keep the key on a safe place, the command clip copies the public key to the clipboard, which will be saved to Github account in the next step.
Go to Github and sign in with your account, open profile in the upper right corner, navigate to Settings and click SSH and GPG keys, click New SSH key, paste the public key into the key field, for title you can enter firstname.lastname@example.org.
Now ready to go back to Git bash and enter the following commands, with option -T the host is entered in known_hosts, here you have to confirm with yes, the command git push authorized on Github by use the key in ~/.ssh/id_rsa.
cd ~/my_project ssh -T email@example.com git remote set-url origin firstname.lastname@example.org:account/my_project.git git add -A git commit -am "commit update" git push
place instead of account your github account, and for my_project the name of your project you deploying.
Now open directory out from Git bash with VS Code.
$ code my_project
VS Code Editor offers git commands via the main toolbar and the icon menu.
By default ssh looks for the key in a file named id_rsa, if you want to authenticate to multiple hosts, the following directive applies in the file ~/.ssh/config
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_github
Deploy Git on Linux Shell
If you use Linux “should be preferred” then the following command lines create a Git project directory and add README.md, further Commit and Push them.
git init git config --global user.name "my_project" git config --global user.email "email@example.com" touch README.md git add . git add README.md git commit -m "add README" git commit -m "Initial commit" git push -u origin master