Skip to Content
Linux Security Cookbook
book

Linux Security Cookbook

by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
June 2003
Intermediate to advanced
336 pages
8h 54m
English
O'Reilly Media, Inc.
Content preview from Linux Security Cookbook

8.15. Securing POP/IMAP with SSH

Problem

You want to read mail on a POP or IMAP mail server securely. The mail server machine runs an SSH daemon.

Solution

Use SSH port forwarding. [Recipe 6.14]

  1. Choose an arbitrary, unused TCP port number on your client machine, such as 12345.

  2. Assuming your client is myclient and your mail server is mailhost, open a tunnel to its POP server (TCP port 110):

    myclient$ ssh -f -N -L 12345:localhost:110 mailhost

    or IMAP server (port 143):

    myclient$ ssh -f -N -L 12345:localhost:143 mailhost

    or whatever other port your mail server listens on.

  3. Configure your mail client to connect to the mail server on port 12345 of localhost , instead of the POP or IMAP port on mailhost.

Discussion

As we discussed in our recipe on general port forwarding [Recipe 6.14], ssh -L opens a secure connection from the SSH client to the SSH server, tunneling the data from TCP-based protocol (in this case POP or IMAP) across the connection. We add -N so ssh keeps the tunnel open without requiring a remote command to do so.

Be aware that our recipe uses localhost in two subtly different ways. When we specify the tunnel:

12345:localhost:143

the name “localhost” is interpreted on the SSH server side. But when your mail client connects to localhost, the name is interpreted on the SSH client side. This is normally the behavior you want. However, if the server machine is not listening on the loopback address for some reason, you may need to specify the server name explicitly instead:

12345:mailhost:143 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Linux Security Cookbook - Second Edition

Practical Linux Security Cookbook - Second Edition

Tajinder Kalsi
Mastering Linux Command Line

Mastering Linux Command Line

Coding Gears | Train Your Brain

Publisher Resources

ISBN: 0596003919Errata Page