2011/08/07

git : Permission denied (publickey).

Reference : http://help.github.com/mac-set-up-git/


  1. Check for SSH keys. Have an existing key pair? You can skip to Step 4.
    First, we need to check for existing ssh keys on your computer:
    $ cd ~/.sshChecks to see if there is a directory named ".ssh" in your user directory
    If it says “No such file or directory“ skip to step 3. Otherwise continue to step 2.
  2. Backup and remove existing SSH keys.
    Since there is already an SSH directory you’ll want to back the old one up and remove it:
    $ lsLists all the subdirectories in the current directoryconfig id_rsa id_rsa.pub known_hosts$ mkdir key_backupmakes a subdirectory called "key_backup" in the current directory$ cp id_rsa* key_backupCopies the id_rsa and id_rsa.pub files into key_backup$ rm id_rsa*Deletes the id_rsa and id_rsa.pub files
  3. Generate a new SSH key.
    To generate a new SSH key, enter the code below. We want the default settings so when asked to enter a file in which to save the key, just press enter.
    $ ssh-keygen -t rsa -C "your_email@youremail.com"Creates a new ssh key using the provided emailGenerating public/private rsa key pair.Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):
    Now you need to enter a passphrase.

    Why do passphrases matter?

    Enter passphrase (empty for no passphrase):Enter same passphrase again:
    Which should give you something like this:
    Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.The key fingerprint is:01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db user_name@username.comThe key's randomart image is:+--[ RSA 2048]----+|     .+   +      ||       = o O .   ||        = * *    ||       o = +     ||      o S .      ||     o o =       ||      o . E      ||                 ||                 |+-----------------+
  4. Add your SSH key to GitHub.
    On the GitHub site Click “Account Settings” > Click “SSH Public Keys” > Click “Add another public key”
    Open the id_rsa.pub file with a text editor (Notepad, TextEdit, or gedit will do just fine). This is your public SSH key. You may need turn on “view hidden files” to find it because the .sshdirectory is hidden. It’s important you copy your SSH key exactly as it is written without adding any newlines or whitespace. Now paste it into the “Key” field.

    Can’t view hidden files? Other ways to copy:

    Now paste it into the “Key” field.
    Hit “Add Key.”
  5. Test everything out.
    To make sure everything is working you’ll now SSH to GitHub. Don’t change the “git@github.com” part. That’s supposed to be there.
    $ ssh -T git@github.comAttempts to ssh to github
    Which should give you this:
    The authenticity of host 'github.com (207.97.227.239)' can't be established.RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.Are you sure you want to continue connecting (yes/no)?
    Don’t worry, this is supposed to happen. Type “yes”.

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.

No comments:

Post a Comment