SSH

From Noisebridge
Jump to: navigation, search

SSH (Secure Shell) is the primary protocol for logging into *nix systems remotely. A number of Noisebridge services run SSH. To login to a server with SSH, you will, at a minimum, need to know the hostname, your username, and a password (or a private key). Using a key is usually much better than using a password. SSH keys come in a pair: one public and one private. The public key sits on the server, usually in the `~/.ssh/authorized_keys` file; the private key is *private* and should stay on your computer.

On Windows[edit]

PuTTY is a set of tools for SSH (and other things) on windows.

PuTTY can be downloaded from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. You probably want the 32-bit zip file.

If you haven't already, create a SSH-2 RSA public/private key pair

2048 bits is generally considered the minimum for reasonable security, and 4096 as a even more secure option.

Generating the key requires random data to be generated, to do this drag your mouse around the screen.

PuTTY Key Gen randomness.png

A public and private key is generated, and the public key is shown. Save your public and private key. Optionally you can enter a passphrase ("password") to be used when storing your private key.

PuTTY Key Gen publick key.png

Now that you have a public key, contact your local Linux administrator for an account.

After you have an account, run the program PuTTY.exe; enter the hostname in the "Host Name" box; set the "Auto-login username" to your username in Connection->Data and select your private key file at the bottom of the Connection->SSH->Auth page. Click open to open the connection. You can save these settings for later with the options in the "session" tab.

On *nix[edit]

SSH is often pre-installed and very often available in the official repositories for your favorite package manager.

Run `ssh-keygen` to generate a key pair if you do not have one already; just using the defaults is probably fine. Your public key is in ~/.ssh/id_rsa.pub; send the contents of that file to your server administrator.

To connect to an ssh server once you have an account, run `ssh -i ~/.ssh/id_rsa [your username]@[hostname of server]`.


Enable automatic login without password[edit]

http://xmodulo.com/how-to-enable-ssh-login-without.html


Reverse SSH Tunneling[edit]

http://xmodulo.com/access-linux-server-behind-nat-reverse-ssh-tunnel.html