SSH - Introduction for Windows Users
SSH lets you access web traffic, and other data, from home via your university or company unix systems. This allows access to university/company only resources when working from home. The main use of ssh is to remotely control unix systems and to transfer files.
Windows SSH Clients
All of the following are free:
Putty is a nice ssh and telnet client that I use out of habit and is highly recommended. The current version now supports X11 forwarding and arbitrary port forwarding. Useful non-obvious putty feature: saved profiles can be accessed from the command line (or importantly shortcuts) using: putty.exe @profilename
TTSSH is an add on to Teraterm Pro. Install Teraterm and then unzip TTSSH into the same directory. Use ttssh.exe not teraterm itself.
All of SSH's functionality is available on the command line if you have a collection of Unix utilities for windows, such as Cygwin. The problem with Cygwin can be that the command line provided by Windows doesn't provide a great terminal emulator. Apparently the native port of rxvt that comes with Cygwin is good, so try using that.
If you can only be bothered with one program, I recommend putty. If that doesn't work try TTSSH. If you want maximum power and flexibility, get Cygwin, get used to it and then exchange Windows for a unix-like system.
Access company/university web pages from home
We will set your web browser to use your own computer as a proxy. The SSH client will then catch all your browser's requests and send them to your company/university's web-cache via a friendly computer. The web site will see a connection from the web-cache and allow it. The web-cache will send the results back to you via the friendly machine.
In Internet Explorer (I am sure users of other browsers can figure out what to do) choose "Internet Options..." from the Tools menu. Click on the "Connections" tab, then on the "LAN Settings" button. Check "Use a proxy server" and enter Address: localhost Port: 8888
Suppose your university/company has a webcache that runs on port 8080 and is called wwwcache.youruniversity.ac.uk. Also suppose you have a shell account on friendlymachine.youruniversity.ac.uk.
If you are using a command line SSH client like the one that is
part of Cygwin, simply type:
ssh -l username -L 8888:wwwcache.youruniversity.ac.uk:8080 friendlymachine.youruniversity.ac.uk
Where username is your username for friendlymachine.youruniversity.ac.uk.
If you are using ttssh, then choose "SSH Forwarding..." from the "Setup" menu. Click the "Add" button. Forward local port 8888 to remote machine wwwcache.youruniversity.ac.uk port 8080. Then from the "File" menu choose "New connection" and logon to friendlymachine.youruniversity.ac.uk, making sure that you use SSH and not telnet.
Use X-windows
To run X-windows programs on a remote machine so that they appear on your home computer you'll need an X-server and one of the ssh clients listed above. You can get a full-screen X-server from Cygwin these days. There are also commercial programs such as Exceed.
Set up your X-server to only allow connections from localhost. In Exceed you can do this by going to security settings, choosing "File:" for your "Host Access Control List"; hit the "Edit" button and make localhost the only entry in the file.
ttssh: simply make sure that "Display remote X applications on local X server" is checked in your SSH forwarding settings before connecting. Putty has an X forwarding option in its tunnels section.
Command line SSH: Just type:
ssh -X username@hostname
easy huh?
Once connected, X11 commands such as xterm, xemacs, etc should just work, as long as your X-server (eg Exceed) is set up and running. This is much more secure than connecting directly; if you are behind a firewall this may be your only way to get X11 working.
Read Newsgroups
You can read news in a command line news reader, or even pine by sshing into a system you have an account on. However, if you want to use your usual news client from home, simply set it up to connect to localhost port 119. Then forward localhost:119 to nntp-serv.cam.ac.uk:119, just like you would forward localhost:8888 to wwwcache.youruniversity.ac.uk:8080 for web traffic.
Transfer files
You can transfer files with a computer running an ssh server using SCP (secure copy, comes with Cygwin). My favourite graphical client is WinSCP. You can also try Secure iXplorer. I tend to just use the command line - in my opinion PSCP, which is part of the Putty suite is the best SCP client; running it without any options gives you its arguments.
Also look at rsync and unison. For intelligent copying and synchronisation that tries to only copy the minimum amount required. Unison even has an optional graphical user interface.
There are cunning ways of transferring files using pipes, the normal ssh client and tar. I think life is too short to go through that here.
