How to generate SSH keys for Git authorization

Featured Image © Some rights reserved by @boetter / flickr

Hi there! This post will be pretty straightforward and will cover Windows, Mac and Linux, so if you don’t know how to do it already, read on.

Head 1: Windows

Just follow these 5 steps:

  1. Go to this address, and download msysgit, after the download install it with default settings
  2. Open Git Bash that you just installed (Start->All Programs->Git->Git Bash)
  3. Type in the following: ssh-keygen -t rsa (when prompted, enter password, key name can stay the same)
  4. Open file your_home_directory/.ssh/id_rsa.pub with your favorite text editor, and copy contents to your Git repository’s keys field (GitHubbeanstalk, or any other repository provider), under your account.
  5. Be sure that you don’t copy any whitespace while copying public key’s content (id_rsa.pub)

Note: your_home_directory is either C:\Users\your_username (on Windows Vista / 7), or C:\Documents and Settings\your_username (on Windows XP)

Head 2: Mac

Follow these 5 steps:

  1. Start the terminal
  2. Navigate to your home directory by typing: cd ~/
  3. Execute the following command: ssh-keygen -t rsa (when prompted, enter password, key name can stay the same)
  4. open file you’ve just created ~/.ssh/id_rsa.pub with your favorite text editor, and copy contents to your Git repository’s keys field (GitHub, beanstalk, or any other repository provider), under your account.
  5. Be sure that you don’t copy any whitespace while copying public key’s content (id_rsa.pub)

Head 3: Linux (Ubuntu)

Follow these 5 steps:

  1. Open console
  2. cd ~
  3. ssh-keygen -t rsa (when prompted, enter password, key name can stay the same)
  4. open file /home/your_username/.ssh/id_rsa.pub with your favorite text editor, and copy contents to your Git repository’s keys field (GitHub, beanstalk, or any other repository provider), under your account.
  5. Be sure that you don’t copy any whitespace while copying public key’s content (id_rsa.pub)

Head 4: Additional info

When you create private / public SSH keys on your machine (that’s what you did in above steps), it’s not enough. You need to give your public key to the repository in order to pair the Git server with your local machine (that’d be steps 4. and 5. above).

Most of the popular repositories will give you web interface access to the application, and here’s how it looks like on beanstalk when you did all you needed, for example:

After this step, you’re ready to start using Git.

Head 5: Conclusion

I hope this wasn’t to complicated to follow, and also I hope it was helpful to someone!

Cheers!

Interested in hiring us?

Have a chat with us. You would be surprised how small changes can make your business even more successful.


6 comments

  1. why are you blurring out a public ssh key?
    It’s not a secret it’s your public key, they’re nothing blurring it would help with.

  2. I have created a key that I use to connect to a git repos. When I commit, my username and domain (memine@myMachineName123.local) shows up as who committed the change. I dont want that, but instead it to show my Alias or other name.
    Is there a way to change this in the key generation so that when i upload my key, my commits show as by ‘Alias’ or something else?

    Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <blockquote cite=""> <code> <del datetime=""> <em> <strike> <strong>. You may use following syntax for source code: <pre><code>$current = "Inchoo";</code></pre>.