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, this is a windows program 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:

#ssh somehost

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 -lsomeuser 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, for example OpenSSH.

Once downloaded an appropriate package to your Puppy server machine clicking on the file will bring up the puppy package manager and install the package for you.

Typically the OpenSSH package will be a per-configured server that only allows one user to login. For example, the user spot. The installation may ask for a new password for the users root and also spot.

You need to determine the ip address of your puppy machine - from rxvt terminal use :

#ifconfig

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.