Overview of SSH tunneling:
Introduction:
SSH allows you to create an encrypted network tunnel between your machine and
the network. Different SSH clients use slightly different methods for
creating this tunnel. We'll look at how to set tunnels up using the SSH
client "Putty".
Before we get to the client particulars, let's take a moment to peek behind the scenes to get a better understanding of what's actually going on. SSH tunneling takes place using a mechanism called "port forwarding."
Background:
Ports:
To understand port forwarding, you first have to know what a port is. If we were
to use a telephone analogy, the IP address of a machine would be the phone
number and the port a phone extension at that number. To get hold of a specific
person at a company I might call their main number and then transfer to that
person's extension. To use a specific service on a machine, I would connect to a
specific port at the IP address for that machine.
When you use a mail program to read and send mail, usually your mail program makes a connection for you to two specific ports on the mail server. When you read mail, you connect to the POP3 port (usually number 110). When you send mail, you connect to the SMTP port (usually number 25) of our mail server. Here's a diagram:
neo.tamu.edu:25 (128.194.103.210:25)
/ -SMTP-> o--------------+
[your
machine]| | mail
server |
\ <-POP3- o--------------+
neo.tamu.edu:110 (128.194.103.210:110)
NOTE: When you use a FTP Client for transfer of files, your ftp application
makes a connection to the machine using port number 21.
Port Forwarding:
SSH allows you to do port forwarding over a secure tunnel. You configure your
SSH client to accept connections on the local machine for certain ports.
Any data which is sent to these ports is then forwarded and returned across the
tunnel. On the other side of the tunnel, the SSH server passes the data back and
forth to a machine of your choice. This is port forwarding. Note that when you
transfer data using port forwarding your password is always in an encrypted
format.
For instance, let us configure SSH client to listen for connections on the SMTP and POP3 ports of our local machine. Any data destined for these ports will be shunted over a secure connection to and from the mail server. Here's a picture:
neo.tamu.edu:110
localhost:110 o-<+----------+ ~ ~ +----------+>--<<--o-------------+
|SSH Client|~ ~ ~ ~ ~|SSH Server| | mail server |
localhost:25 o->+----------+ ~ ~ +----------+>-->>--o-------------+
neo.tamu.edu:25
The final piece of this puzzle is the mail and the FTP program configuration. To
make this all work, you need to configure your mail client to connect to the
forwarded ports on your local machine instead of connecting to a remote mail
host as per usual.
Configuring EUDORA for SSH tunneling
Configuring Putty (SSH client) for FTP
Configuring FTP client for SSH tunneling
Determine if a port is available on your local machine
For any assistance contact:
1. Rosemarie (979-845-6842)
2. Kalva.