Saturday, January 25, 2014

Very Basic Configuration Tips with Windows Git SSH

Like most of us you probably started using Git (GitHub most likely) on Windows and found this notion of SSH a bit challenging especially on Windows where Unix like OS manners are imposed on Windows OS and if you do not have exposure to Unix it will be really confusing.

As a programmer, though you think you can go fancy, perhaps even feeling more secure and you do not follow any of the instructions in the book and create directories and name key files the way you want them.

For this, that's where the problem starts to happen. Many Unix based systems for which Git is based on rely on the configurations in default ways. Experts know how to override them in a fairly complex ways like environmental variables or config file edits if you know which ones to manipulate.

You will learn about those as you go... But if you are starting out, don't go fancy, just use the default values as described in the documents and also store the files in the default places where the system expects them to be.

For example, when you run ssh-keygen it outputs id_rsa for the public key and id_rsa.ppk for the private key. Please do note that id_rsa is a file name not a directory. Or maybe you used another SSH key generator where id. RSA could come first with id_rsa.pub in which case you do need to remove .pub or the rest of the system by default won't recognize it. By the way, the easiest and fastest way is to just use ssh-keygen from the bash command line.

There files should be stored in where the Bash wants them to be. That's ~/.ssh  Do not put them anywhere else. Of course you may be wondering where is ~/.ssh is.

When transacting with files with bash, always use bash and do not use Windows CMD shell. Since Windows command shell does not like file or directory names that starts with a period.

Having said that, for example my user name is stokemaster then the ~ directory is at C:\Users\stokemaster so the .ssh would go to C:\Users\stokemaster\.ssh

Lastly, for the passwords don't go too fancy with it at first either! I had a % sign in my password and ssk-keygen did not like it at all. Don't waste too much time, just try a password consisting of just numbers, upper and lower case letters to make it easy.

Again, I have to stress that don't go too fancy.

Next, you would not want to type in user name and password every time you use Git. There is a script to help you do this as described on this page. https://help.github.com/articles/working-with-ssh-key-passphrases

You might be wondering how to make .profile file or .bashrc file. Here is how;

  • Start with the MsysGit bash window (not DOS command window), 
  • type in: cd ~ [ENTER] to go to the home directory. (Enter is the single Enter key I am talking about.)
  • type in: touch .profile [ENTER] (or .bashrc) which will create an empty file.

Now you can use notepad or Notepad++ (recommended) to edit this file, just copy and paste the text in the box (no modification needed) https://help.github.com/articles/working-with-ssh-key-passphrases#auto-launching-ssh-agent-on-msysgit



No comments: