How do I setup SSH key based authentication for GitHub by using ~/.ssh/config file?
I am trying to set up my SSH keys for GitHub and created a new SSH key for the same. I have managed to setup the SSH key but I wish to retain these settings and save them in the configuration file ~/.ssh/config
which is not available. Where can I add this key path to retain the configuration?
ssh git openssh
add a comment |
I am trying to set up my SSH keys for GitHub and created a new SSH key for the same. I have managed to setup the SSH key but I wish to retain these settings and save them in the configuration file ~/.ssh/config
which is not available. Where can I add this key path to retain the configuration?
ssh git openssh
add a comment |
I am trying to set up my SSH keys for GitHub and created a new SSH key for the same. I have managed to setup the SSH key but I wish to retain these settings and save them in the configuration file ~/.ssh/config
which is not available. Where can I add this key path to retain the configuration?
ssh git openssh
I am trying to set up my SSH keys for GitHub and created a new SSH key for the same. I have managed to setup the SSH key but I wish to retain these settings and save them in the configuration file ~/.ssh/config
which is not available. Where can I add this key path to retain the configuration?
ssh git openssh
ssh git openssh
edited Nov 29 '18 at 11:11
pa4080
13.6k52564
13.6k52564
asked Nov 29 '18 at 7:57
Sushant KumarSushant Kumar
83
83
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Here is short manual how to setup SSH key based authentication for GitHub.
1. Install the openssh-client
if it is not already installed, and of course git
:
sudo apt update && sudo apt install -y openssh-client git
2. Create user's ssh directory and a sub directory where your dedicated GitHub ssh key will be stored:
mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
3. Generate the SSH key (the output key will have octal permissions 600
):
ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
-q
- silence ssh-keygen;-N ''
- empty (without) passphrase, you can assign one if you want.
4. Copy the content of the file id_rsa.pub
, use the following command to output it:
cat ~/.ssh/github/id_rsa.pub
5. Go to your GitHub account. From the drop-down menu in upper right corner select Your profile. Click on Edit profile button and then select SSH and GPG keys. Click on the New SSH Key button. Type some meningful for a Title and paste the content of ~/.ssh/github/id_rsa.pub
in the field Key. Then click on the Add SSH Key button.
6. Create the ~/.ssh/config
file, if it doesn't already exist:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Edit the config
file and add the following entry for the new SSH key:
Host github.com
IdentityFile ~/.ssh/github/id_rsa
7. Test the setup. Use the following command:
ssh -T git@github.com
On the question - Are you sure you want to continue connecting (yes/no)? - answer with yes. If everything went well you should receive a greeting message like this:
Hi pa4080! You've successfully authenticated, ...
How to use the SSH key.
1. If you have already cloned repository through HTTPS, by using a command as these:
git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Go inside the repository's directory and execute the next command to allow work via SSH:
git remote set-url origin git@github.com:username/repository-name.git
2. Direct clone a repository via SSH:
git clone git@github.com:username/repository-name.git
3. In addition if you are using VSC it will work without problems with this setup. For already clonned repositories just use the Open Folder option and all VSC Git features will work.
add a comment |
this file is not available by default. You have to create it.
Please be aware SSH keys and ~/.ssh/config
are separate files (with different purpose).
your SSH keys are stored in ~/.ssh (use ls -al ~/.ssh
to see them all)
and your SSH config is stored in the ~/.ssh/config. If you don't have it feel free to use touch ~/.ssh/config
to create it.
If you want to use your key with github/bitbucket/gitlab use the following:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
in the above case id_rsa
is your private SSH key file, just change it to your real private key file name
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1097038%2fhow-do-i-setup-ssh-key-based-authentication-for-github-by-using-ssh-config-fi%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is short manual how to setup SSH key based authentication for GitHub.
1. Install the openssh-client
if it is not already installed, and of course git
:
sudo apt update && sudo apt install -y openssh-client git
2. Create user's ssh directory and a sub directory where your dedicated GitHub ssh key will be stored:
mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
3. Generate the SSH key (the output key will have octal permissions 600
):
ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
-q
- silence ssh-keygen;-N ''
- empty (without) passphrase, you can assign one if you want.
4. Copy the content of the file id_rsa.pub
, use the following command to output it:
cat ~/.ssh/github/id_rsa.pub
5. Go to your GitHub account. From the drop-down menu in upper right corner select Your profile. Click on Edit profile button and then select SSH and GPG keys. Click on the New SSH Key button. Type some meningful for a Title and paste the content of ~/.ssh/github/id_rsa.pub
in the field Key. Then click on the Add SSH Key button.
6. Create the ~/.ssh/config
file, if it doesn't already exist:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Edit the config
file and add the following entry for the new SSH key:
Host github.com
IdentityFile ~/.ssh/github/id_rsa
7. Test the setup. Use the following command:
ssh -T git@github.com
On the question - Are you sure you want to continue connecting (yes/no)? - answer with yes. If everything went well you should receive a greeting message like this:
Hi pa4080! You've successfully authenticated, ...
How to use the SSH key.
1. If you have already cloned repository through HTTPS, by using a command as these:
git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Go inside the repository's directory and execute the next command to allow work via SSH:
git remote set-url origin git@github.com:username/repository-name.git
2. Direct clone a repository via SSH:
git clone git@github.com:username/repository-name.git
3. In addition if you are using VSC it will work without problems with this setup. For already clonned repositories just use the Open Folder option and all VSC Git features will work.
add a comment |
Here is short manual how to setup SSH key based authentication for GitHub.
1. Install the openssh-client
if it is not already installed, and of course git
:
sudo apt update && sudo apt install -y openssh-client git
2. Create user's ssh directory and a sub directory where your dedicated GitHub ssh key will be stored:
mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
3. Generate the SSH key (the output key will have octal permissions 600
):
ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
-q
- silence ssh-keygen;-N ''
- empty (without) passphrase, you can assign one if you want.
4. Copy the content of the file id_rsa.pub
, use the following command to output it:
cat ~/.ssh/github/id_rsa.pub
5. Go to your GitHub account. From the drop-down menu in upper right corner select Your profile. Click on Edit profile button and then select SSH and GPG keys. Click on the New SSH Key button. Type some meningful for a Title and paste the content of ~/.ssh/github/id_rsa.pub
in the field Key. Then click on the Add SSH Key button.
6. Create the ~/.ssh/config
file, if it doesn't already exist:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Edit the config
file and add the following entry for the new SSH key:
Host github.com
IdentityFile ~/.ssh/github/id_rsa
7. Test the setup. Use the following command:
ssh -T git@github.com
On the question - Are you sure you want to continue connecting (yes/no)? - answer with yes. If everything went well you should receive a greeting message like this:
Hi pa4080! You've successfully authenticated, ...
How to use the SSH key.
1. If you have already cloned repository through HTTPS, by using a command as these:
git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Go inside the repository's directory and execute the next command to allow work via SSH:
git remote set-url origin git@github.com:username/repository-name.git
2. Direct clone a repository via SSH:
git clone git@github.com:username/repository-name.git
3. In addition if you are using VSC it will work without problems with this setup. For already clonned repositories just use the Open Folder option and all VSC Git features will work.
add a comment |
Here is short manual how to setup SSH key based authentication for GitHub.
1. Install the openssh-client
if it is not already installed, and of course git
:
sudo apt update && sudo apt install -y openssh-client git
2. Create user's ssh directory and a sub directory where your dedicated GitHub ssh key will be stored:
mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
3. Generate the SSH key (the output key will have octal permissions 600
):
ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
-q
- silence ssh-keygen;-N ''
- empty (without) passphrase, you can assign one if you want.
4. Copy the content of the file id_rsa.pub
, use the following command to output it:
cat ~/.ssh/github/id_rsa.pub
5. Go to your GitHub account. From the drop-down menu in upper right corner select Your profile. Click on Edit profile button and then select SSH and GPG keys. Click on the New SSH Key button. Type some meningful for a Title and paste the content of ~/.ssh/github/id_rsa.pub
in the field Key. Then click on the Add SSH Key button.
6. Create the ~/.ssh/config
file, if it doesn't already exist:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Edit the config
file and add the following entry for the new SSH key:
Host github.com
IdentityFile ~/.ssh/github/id_rsa
7. Test the setup. Use the following command:
ssh -T git@github.com
On the question - Are you sure you want to continue connecting (yes/no)? - answer with yes. If everything went well you should receive a greeting message like this:
Hi pa4080! You've successfully authenticated, ...
How to use the SSH key.
1. If you have already cloned repository through HTTPS, by using a command as these:
git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Go inside the repository's directory and execute the next command to allow work via SSH:
git remote set-url origin git@github.com:username/repository-name.git
2. Direct clone a repository via SSH:
git clone git@github.com:username/repository-name.git
3. In addition if you are using VSC it will work without problems with this setup. For already clonned repositories just use the Open Folder option and all VSC Git features will work.
Here is short manual how to setup SSH key based authentication for GitHub.
1. Install the openssh-client
if it is not already installed, and of course git
:
sudo apt update && sudo apt install -y openssh-client git
2. Create user's ssh directory and a sub directory where your dedicated GitHub ssh key will be stored:
mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
3. Generate the SSH key (the output key will have octal permissions 600
):
ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
-q
- silence ssh-keygen;-N ''
- empty (without) passphrase, you can assign one if you want.
4. Copy the content of the file id_rsa.pub
, use the following command to output it:
cat ~/.ssh/github/id_rsa.pub
5. Go to your GitHub account. From the drop-down menu in upper right corner select Your profile. Click on Edit profile button and then select SSH and GPG keys. Click on the New SSH Key button. Type some meningful for a Title and paste the content of ~/.ssh/github/id_rsa.pub
in the field Key. Then click on the Add SSH Key button.
6. Create the ~/.ssh/config
file, if it doesn't already exist:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
Edit the config
file and add the following entry for the new SSH key:
Host github.com
IdentityFile ~/.ssh/github/id_rsa
7. Test the setup. Use the following command:
ssh -T git@github.com
On the question - Are you sure you want to continue connecting (yes/no)? - answer with yes. If everything went well you should receive a greeting message like this:
Hi pa4080! You've successfully authenticated, ...
How to use the SSH key.
1. If you have already cloned repository through HTTPS, by using a command as these:
git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Go inside the repository's directory and execute the next command to allow work via SSH:
git remote set-url origin git@github.com:username/repository-name.git
2. Direct clone a repository via SSH:
git clone git@github.com:username/repository-name.git
3. In addition if you are using VSC it will work without problems with this setup. For already clonned repositories just use the Open Folder option and all VSC Git features will work.
edited 10 hours ago
answered Nov 29 '18 at 10:54
pa4080pa4080
13.6k52564
13.6k52564
add a comment |
add a comment |
this file is not available by default. You have to create it.
Please be aware SSH keys and ~/.ssh/config
are separate files (with different purpose).
your SSH keys are stored in ~/.ssh (use ls -al ~/.ssh
to see them all)
and your SSH config is stored in the ~/.ssh/config. If you don't have it feel free to use touch ~/.ssh/config
to create it.
If you want to use your key with github/bitbucket/gitlab use the following:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
in the above case id_rsa
is your private SSH key file, just change it to your real private key file name
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
add a comment |
this file is not available by default. You have to create it.
Please be aware SSH keys and ~/.ssh/config
are separate files (with different purpose).
your SSH keys are stored in ~/.ssh (use ls -al ~/.ssh
to see them all)
and your SSH config is stored in the ~/.ssh/config. If you don't have it feel free to use touch ~/.ssh/config
to create it.
If you want to use your key with github/bitbucket/gitlab use the following:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
in the above case id_rsa
is your private SSH key file, just change it to your real private key file name
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
add a comment |
this file is not available by default. You have to create it.
Please be aware SSH keys and ~/.ssh/config
are separate files (with different purpose).
your SSH keys are stored in ~/.ssh (use ls -al ~/.ssh
to see them all)
and your SSH config is stored in the ~/.ssh/config. If you don't have it feel free to use touch ~/.ssh/config
to create it.
If you want to use your key with github/bitbucket/gitlab use the following:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
in the above case id_rsa
is your private SSH key file, just change it to your real private key file name
this file is not available by default. You have to create it.
Please be aware SSH keys and ~/.ssh/config
are separate files (with different purpose).
your SSH keys are stored in ~/.ssh (use ls -al ~/.ssh
to see them all)
and your SSH config is stored in the ~/.ssh/config. If you don't have it feel free to use touch ~/.ssh/config
to create it.
If you want to use your key with github/bitbucket/gitlab use the following:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
in the above case id_rsa
is your private SSH key file, just change it to your real private key file name
edited Nov 29 '18 at 11:13
pa4080
13.6k52564
13.6k52564
answered Nov 29 '18 at 8:13
janmyszkierjanmyszkier
52127
52127
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
add a comment |
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
There is a strange problem where if the ~/.ssh/config file doesn't exist then the configuration settings don't set. Best to always create it if it doesn't exist.
– Underverse
Nov 29 '18 at 11:07
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1097038%2fhow-do-i-setup-ssh-key-based-authentication-for-github-by-using-ssh-config-fi%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown