Use this simple list to quickly verify that you've implemented all the essential security measures on your Linux server.
1. Key-Based Authentication Setup
Status | Action Required | Verification Check |
|---|---|---|
☐ | Generate an ED25519 Key Pair on your local machine. | Private Key ( |
☐ | Set a strong passphrase for your private key. | Prompted for passphrase, not password, upon login. |
☐ | Copy the Public Key to the server. | Public key is in |
☐ | Test login using only the key and passphrase. | Successful login without server password. |
2. SSH Daemon Configuration Hardening (on Server)
Status | Action Required | Verification Check |
|---|---|---|
☐ | Set | Check |
☐ | Set | Cannot SSH in as the |
☐ | Change the default | Check |
☐ | Open the new custom port in your server's firewall ( | Firewall status ( |
☐ | Restart the SSH service. |
|
3. Fail2ban Intrusion Prevention
Status | Action Required | Verification Check |
|---|---|---|
☐ | Install Fail2ban. | Package is installed ( |
☐ | Configure the |
|
☐ | Start and Enable the Fail2ban service. |
|
☐ | Verify Fail2ban is monitoring the SSH jail. |
|
4. Permissions Check (Crucial for Functionality)
Status | Action Required | Verification Check |
|---|---|---|
☐ | Local Private Key Permission set correctly. |
|
☐ | Server |
|
☐ | Server |
|
How to Use the Checklist
Since the checklist is for your readers to use offline or manually, they have two simple options:
-
Print and Mark: They can print the checklist and physically mark the boxes with a pen or pencil.
-
Copy and Edit: They can copy the text from your article and paste it into their own text editor (like Notepad, VS Code, etc.). There, they can manually replace the empty box (☐) with a checked box (☑) or an 'X'.
Example of Manual Editing:
Status | Action Required |
|---|---|
☐ | Set |
☑ | Set |