Step 1d: Generate and install SSH keys.

PuTTy is an open source SSH client for Windows. The Go! environment uses PuTTy to run commands in the Go! virtual appliance. PuTTY and some default SSH keys were installed from the Go! Virtual Machine install wizard. The user may also use PuTTy to open a command shell on the Go! virtual appliance. To open a command shell, start PuTTY using Start->Go!->Go! SSH Client on the Windows start menu. Click on goembedded in the "Saved Sessions" section and press the "Load" button as follows:

PuTTy_Configuration.PNG

To log in to the virtual machine, just press the "Open" button.

For the same reasons we changed the go user password in the virtual machine, a new private SSH key for the Windows host needs to be generated, and the public portion of that key needs to be added to the Go! virtual appliance. The key configuration is done as follows.

First open Start->Go!->Go! SSH Keygen from the Windows start menu. Then for "Type of key to generate", select SSH-2 RSA, and press the "Generate" button.

PuTTY_Key_Generator.PNG

Next, you must save the private key into a file using the "Save private key" button. Before you save the file, at your discretion, enter a passphrase. You should save the file into C:\Program Files\GoEmbedded\Putty\sshkey.ppk. If you enter a passphrase for the key, then you must run an SSH authentication agent that will automatically provide the passphrase when needed. PuTTy's SSH agent is called Pageant. Pageant can be started from Start->Go!->Go! SSH Agent. See PuTTy documentation on how to load your key into Pageant so that it is automatically available for the PuTTY commands. Some people might find it acceptable to leave the passphrase empty, in which case, Pageant does not need to be running.

After you have saved the sshkey.ppk file, you must change the security permissions on this file so that only your userid can read it. For an article on changing file security permissions in Windows look here. You should add your userid to the permissions, and give your userid full control, then you should remove the permissions inheritance from the containing folder.

Next, we must add the public portion of the key to the go user authorized_keys file in the Go! virtual appliance. To do this connect to Usermin with your web browser at http://localhost:20000 and login as the go user. After logging in to usermin, from the left panel menu, select Login->SSH Configuration to display the "SSH Configuration" in the right panel. Then select "Authorized Keys" followed by "Add a new SSH 2 authorized key". Now you can cut and paste the public info, from the PuTTy Key Generator screen into the appropriate fields of the "Add Authorized Key" panel, and press the "Create" button. You will see that there was an existing key defined before you added your new key. You should delete this key, as everyone will know it, and could use it to login to your virtual machine.

Add_Authorized_Key.PNG

After this step is complete, you should still be able to login to the Go! virtual appliance without having to enter a password. Test this by starting the Go! SSH Client, and double clicking on the goembedded saved session. You should ssh login to the virtual appliance without entering a password or userid. This must work in order for Eclipse integration with the virtual appliance to work properly, so you should test this.

Press the Next link below when you are ready to continue.

Next >>

Last edited Aug 15, 2010 at 6:44 PM by castone, version 13

Comments

No comments yet.