Best practices for securing SSH server

Erik Norgaard norgaard at
Tue Jun 23 05:52:04 UTC 2009

Daniel Underwood wrote:
> On a BSD box at work (at an extremely fast connection and static IP),
> I run an SSH server.  I am the only person who uses the server, but I
> use it from some locations that are behind a dynamic IP (so I can't
> set pf rules to filter by IP).  I will always, however, use the same
> laptop to connect to the server.  Due to the speed and location of the
> connection, it's a relatively high-risk target.
> What are some good practices for securing this SSH server.  Is using a
> stored key safer than a password in this instance? I have no
> experience with port-knocking, but I'd appreciate some tips or
> suggested beginning references... I welcome any and all advice.
> Note: I do require X11 forwarding (not sure whether that's relevant information)


If you're the only one using this server then you definitely should 
allow key authentication only, there are lots of automatic brute force 
attacks with password authentication, even if they only try bad passwords.

Second, you should allow login only for the relevant user(s)/group(s), 
using  AllowUsers/AllowGroups, and ofcourse disable root login.

Third, even if you connect from dynamic ips, you can filter a lot of 
undesired connections. From the regional registries you can download 
address delegation files and filter out ranges assigned to countries 
that you'll never plan visiting, or even enable/disable countries. I 
created a script for generating such lists,

I do not believe that tricks like running ssh on a non standard port or 
using port-knocking provide much extra security.

BR, Erik

Erik Nørgaard
Ph: +34.666334818/+34.915211157        

More information about the freebsd-questions mailing list