SSH and SCP are wonderful tools. I use them all the time for moving files, managing servers, and anything else I need to do on a remote system.
One thing that gets me though is the way I have to type my password every time. Enter SSH Keys...
SSH keys are a private/public keypair system for authenticating you when logging into a remote machine by SSH. The private key sits on the client, and the public key can sit on as many servers as you wish.
Setting up SSH keys is easy. On your client machine, you need to generate the keypair. Fire up a shell, and runrichard@eee:~$ ssh-keygen
There are options for ssh-keygen, such as setting the encryption type, and number of bits, but I'm happy with the defaults.
The program will prompt you for where to save the file (the default ~/.ssh/id_rsa is fine), and then for a passphrase. It isn't good form to leave an empty passphrase, as then anyone who gets your private key would be able to use it to get into any of your servers. I know, it means that you have to enter a password when you're using SSH, but at least you can have a shorter password than the 41 character alpha-numeric password your sysadmin forces you to use!
ssh-keygen will then show you what your key looks like (as a randomart picture), and write the keypair to the file you specified.
So now you have a keypair, you need to copy the public part to your server.
richard@eee:~$ scp .ssh/id_rsa.pub remoteserver:~/
This will copy the id_rsa.pub file (the public part of your key) to your remote server, into your home directory.
Then, ssh to your server, and runrichard@remoteserver:~$ cat id_rsa.pub >> .ssh/authorized_keys2
This will append your public key to the authorized keys for this account.
Note, you can have more than one key for a single account. So, if you have a laptop, and a desktop, then you might have the key that is on your laptop able to log into some servers, and the key from your desktop able to log into more servers (because your desktop is less likely to be stolen!).
Terminate the SSH session, and then try logging in with your new SSH keys. It should drop you straight in!

