Well first you might want to change the hostnames to something not so generic as host and gateway. Don't have to of course, you can use the IP when connecting. You can change it in /etc/hostname

Iptables is a firewall in linux for 2.4 and 2.6 kernels, 2.2 had ipchains which is similar.
You can have a look at:
http://www.linuxguruz.com/iptables/
http://rocky.eld.leidenuniv.nl/
http://easyfwgen.morizot.net/gen/
Or you can use a frontend for it such as firestarter, bastille, guarddog.....

RSA and DSA keys are used for the encrypted ssh tunnel and the first time you connect you have to type yes to accept the keys which are then added to ~/.ssh/known_hosts. Although you can try to connect first without generating them to see if they exist on knoppix. If you can't connect, generate them on the server as root with the commands in the earlier post.

Hostname here meant server to which you want to connect, so you can run one box as server on which you have to do all this setuping like:
update-rc.d ssh defaults (which makes ssh server run on bootup if you want this)
/etc/init.d/ssh start (which starts the server until you stop it)

On the client all you need to do is one of these:
ssh -l loginname hostname (if you have a different login, hostname means the one on the server)
ssh hostname (if the login name is the same)
ssh IP-number (if you prefer this instead of hostname)
sftp hostname (use get and put for transferring files, do man sftp)
fish://loginname@hostname (in konqueror, again you can use the IP instead of hostname)
or use sftp with konqueror as gruntbuggly said.

Here's some manuals for openssh: http://www.openssh.org/manual.html

In a nutshell do this on the server: /etc/init.d/ssh start
And this on the client: ssh IP.number.of.server