Bering-uClibc 6.x - User Guide - Advanced Topics - Setting Up SSH password-less login and Port Knocking

From bering-uClibc
Revision as of 17:41, 12 July 2018 by Jeanrocco (Talk | contribs)

Jump to: navigation, search

SSH (dropbear) allows password-less login by using RSA security key pairs. To set it up you will have to generate the RSA key pairs on your client machine and copy the public key in your router file /root/.ssh/authorized_keys. If you have more than one client machine, repeat the same process on each of them, and append their respective public keys in your router file /root/.ssh/authorized_keys.

Make sure you have this format:

firewall# pwd
/root/.ssh
firewall# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtKYa9MqShtRkJDa....
...
...
ICxqcbjMXktnN3cygsf3cIU+f/SJ9r7 mywife@macbookpro.private.network
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrpgezG0X9RhuDBBQ...
...
... 
l7bUlGYoouP3tpqfXxIBbQEeMr/2X99 me@ProBook-6560b
firewall#

You can now login in your firewall without a password. You could disable password login but be careful not to lock you out...

If you intend to log from the internet, you have to add the following rule to /etc/shorewall/rules

SSH(ACCEPT) net fw

You can always choose another port like 65022 for SSH to listen to. The port scanners wont usually reach there. There are ongoing debates about the questionable security of this obfuscation... Anyway, if you do, add this rule then:

ACCEPT  net fw tcp 65022

If you don't like to type ssh -p 65022 root@your.ipaddrs.router when you login, you could also hide the default SSH port 22 with a technique called "port knocking". The port 22 is then normally closed up until you send a proper sequence of port connections, using TCP or UDP. The port knocking software will detect this sequence, and will open up port 22 for 60 seconds for instance, thus giving you time enough to make your SSH login connection attempt.

Near the end of this article: " http://shorewall.org/Events.html " you will find in Examples a simple Port Knocking setup that works quite well.