Agree with Farrukh,
Agree with Sameer,
BUT question is how many of those google's are written by Pakistanis?, despite enormous talent & knowledge. Are we afraid to share? or we just don't wanted to? BUT still there are some making Pakistan proud.
You will find one here: If you know Juniper Networks one of the leading Security Appliances Company, Please take a look on URL:
PS: Leave comments for him after listening to his interview
Back to the question ask by Usman for SSH:
Install a FIREWALL
kidding its a pinch of a finger job to fool most of the firewalls
1) First as Sameer said keep your box update mean keep it patched I am sure you know how.
2) Keep the following in mind when you Install / Configure SSH Server:
=> Disable direct root access
Explanation: Disable root(user) access to SSH by this you will safe the server with the vulnerabilities which allows HACKERS to brute force the root password using SSH. You can login with any normal user and then switch to root.
=> Change SSH Port to higher then 7999 example 9000
Explanation: This will help against the Trojans which scans for vulnerable SSH boxes, they usually try with default ports. Also may protect against novice hackers like me
=> Limit access from only specific IPs
Explanation: This will only allow access from specific source IPs that you configured
=> Use strong Password
You may use the software which will create a safe password for you but it will be surely hard to remember, so YOUR CHOICE.
I am sure with above you can achieve maybe 90% still away from 100% (which no one can achieve I agree) but we can close the gap with followings:
Deep Inspection Firewalls
IDS / IPS
All above can be achieved using great silly Linux