1. Generate Ssh Key And Add To Github Windows 10

What

This is a small script to perform all the tasks that are necessary to create a private/public keypair forssh-authentication for password-less connecting to a remote server. Additionally it performs some checks andadjusts file-permissions both locally and on the remote server to avoid some common pitfalls.

Why

We will need to create a key pair, a public for the Git server and a private for the computer. And then add the key into our Gitlab or Github account. Generate the ssh pair and save the private one in the computer. I use PuTTYgen, you can download it here choose puttygen.exe (a RSA and DSA key generation utility) Once is opened: Click Generate.

Because I failed to remember how, every time I tried to do this manually.

How

Preconditions

You need to be able to connect to the remote server with a username and password.

Grab it
Run it

The script expects some commandline arguments which specify which key should be transferred/created andwhere it should be sent to:

You should at least set --user, --file, and --host.
If the key-file does not exist yet, a new key will be generated.

This will ask for the password of the target host at least once, probably twice, if the permissions are not set correctly yet.

Enjoy

Now you should be able to connect to the machine via ssh -i $FILENAME [email protected]$HOST.
If you use the filename~/.ssh/id_rsa you can omit the '-i' argument to ssh.

Caveat

This script will remove write access to your home-directory for 'group' and 'other' on the remote server becausessh-public/private key authentication will not work otherwise.
So if there are processes running as different user,writing data to this directory may fail for them after this script is run.

Related documents

Generate

Licensing

Copyright 2015-2019 Dominik Stadler

Licensed under the Apache License, Version 2.0 (the 'License');you may not use this file except in compliance with the License.You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an 'AS IS' BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

This version of GitHub Enterprise will be discontinued on This version of GitHub Enterprise was discontinued on 2020-01-22. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise.For help with the upgrade, contact GitHub Enterprise support.

After you've checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.

In this article

If you don't already have an SSH key, you must generate a new SSH key. If you're unsure whether you already have an SSH key, check for existing keys.

If you don't want to reenter your passphrase every time you use your SSH key, you can add your key to the SSH agent, which manages your SSH keys and remembers your passphrase.

Generating a new SSH key

Generate Ssh Key And Add To Github
  1. Open TerminalTerminalGit Bash.

  2. Paste the text below, substituting in your GitHub Enterprise email address.

    This creates a new ssh key, using the provided email as a label.

  3. When you're prompted to 'Enter a file in which to save the key,' press Enter. This accepts the default file location.

  4. At the prompt, type a secure passphrase. For more information, see 'Working with SSH key passphrases'.

Adding your SSH key to the ssh-agent

Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. When adding your SSH key to the agent, use the default macOS ssh-add command, and not an application installed by macports, homebrew, or some other external source.

  1. Start the ssh-agent in the background.

  2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your ~/.ssh/config file to automatically load keys into the ssh-agent and store passphrases in your keychain.

  3. Add your SSH private key to the ssh-agent and store your passphrase in the keychain. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.

    Note: The -K option is Apple's standard version of ssh-add, which stores the passphrase in your keychain for you when you add an ssh key to the ssh-agent.

    If you don't have Apple's standard version installed, you may receive an error. For more information on resolving this error, see 'Error: ssh-add: illegal option -- K.'

  4. Add the SSH key to your GitHub account.

If you have GitHub Desktop installed, you can use it to clone repositories and not deal with SSH keys. It also comes with the Git Bash tool, which is the preferred way of running git commands on Windows.

  1. Ensure the ssh-agent is running:

    • If you are using the Git Shell that's installed with GitHub Desktop, the ssh-agent should be running.
    • If you are using another terminal prompt, such as Git for Windows, you can use the 'Auto-launching the ssh-agent' instructions in 'Working with SSH key passphrases', or start it manually:

  2. Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.

  3. Add the SSH key to your GitHub account.

  1. Start the ssh-agent in the background.

  2. Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.

  3. Add the SSH key to your GitHub account.

Further reading

Generate Ssh Key And Add To Github Windows 10

  • 'About SSH'
  • 'Working with SSH key passphrases'
Coments are closed
Scroll to top