SSH - stands for secure shell and is a standard internet protocol that normally operates over port 22 for secure remote connection of computers. It can use a variety of encryption methods to ensure that data over ssh is private. Using ssh you can initiate terminal sessions on remote computers to do system administration - this would be its primary function. However, it is even possible to run the graphical X interface over ssh or forward printer traffic through an ssh connection - this use is beyond the scope of this document. SSH can do all sorts of cool things like passsword-less login by exchanging the public key of the user logging in with the server in its know_hosts file - ok let's walk first.
The ssh suite of programs also comes with scp - secure copy program that allows files to be transferred over an ssh connection - there are also windows and graphical scp programs such as the open source winscp that allows multiple files to be transferred over scp in secure and convenient way - similar to ftp - but securely.
There are two parts to an ssh connection - the client ssh program - there are any number of these but the putty ssh client is a commonly used windows based one and is freely downloadable. Most linux/unix distributions come with the command line ssh client program that can be run from the command line e.g. from puppy's rxvt terminal screen:
where somehost is either an ip address or a ip resolvable name that is running an ssh server. This command establishes a connection to somehost and prompts for a username. If you know the remote username that you wish to login as you can enter:
#ssh -l//someuser// //somehost//
where someuser is the name of the user you wish to login as on the remote machine.
puppy doesn't come with an ssh server by default you can get one from here
This only allows the user spot to login to the puppy machine running this server. You need to determine the ip address of your puppy machine - from rxvt terminal use :
this will display the network interfaces configured on the puppy machine and show the ip address of each - if configured. If no interfaces configured go to Setup->network wizard and configure them.
Once you have the above pet installed go to your ubuntu box - assuming you can ping the puppy machine you will then be able to enter
$ssh -lspot WW.XX.YY.ZZ
where WW.XX.YY.ZZ is the ip address of your puppy machine. You will need to enter the password for spot created at the time of the installation.
If you want to give your puppy machine a name - then you can edit /etc/hosts on your ubuntu machine and make WW.XX.YY.ZZ refer to a name of your choosing.