Secure Shell (SSH) is a very handy network protocol which a network/system administrator might use all the time. SSH provides us with the capabilities of data communication, remote login and remote command execution. As a network/system administrator we might be faced with the responsibilities of managing a large amount of server computers. Imagine the pains we would suffer if we have to keep moving around and connecting monitor and keyboard (if we have more computers than monitors) from one computer to another every time we have to manage them. To make our life easier, we can use the SSH protocol with the concept of client server between computers connected on the same network. We just need to run SSH server service on the server side and use our SSH client to do our job from our workstation.
For every network service running, there will always be vulnerabilities following. The same goes with SSH. Here are some basic things we can do to improve the security of our SSH system:
AllowGroups [GROUPNAME]
AllowUsers [USERNAME1] [USERNAME2]
denyhosts
and fail2ban
can be used for this task, while denyhosts can only work to deny SSH daemon, fail2ban can also be used for other services like FTP.brute force, firewall, hacking, security, ssh