Linux for Servers
You're comfortable on a Linux desktop - you live in the terminal, you know your way around files and permissions. Now someone has handed you a server: a fresh cloud box, or the production machine the team depends on, and the expectation is that you'll administer it. No wallpaper to click, no Software Center, no "I'll figure it out in the GUI." Just an IP address, a username, and the quiet understanding that if you break it, something real goes down.
The good news is that a server is the same Linux you already know - the kernel, the filesystem, the
permissions, all of it. What changes is the posture. A server has no screen, runs unattended for months,
and exists to keep a handful of long-running services alive. Once you internalize that shift, the unfamiliar
tools (systemctl, journalctl, ufw) stop looking like a new operating system and start looking like
exactly what you'd expect a headless, always-on machine to need.
This guide assumes you've done Linux From Zero and are at home in
the terminal and shell. We won't re-teach cd, ls, or chmod. We'll
build on them.
How to read this
- About to log into a box right now? Skim Phase 1: The Server Mindset for
the
sshconnect, then keep the server-hardening cheat-card from Phase 3 open in another tab. - Want it to finally make sense? Read in order - the mindset makes systemd make sense, and systemd makes the safety practices make sense.
The phases
- The Server Mindset - what's actually different about a server: headless,
reached over SSH, everything is config files and long-running services. Plus the basic
ssh user@hostconnect, annotated. - Managing Services with systemd - what systemd is (the first
process, the service manager),
systemctlstart/stop/restart/enable/status, and reading logs withjournalctl, on real services. - Running It Safely - least-privilege users and
sudo, scheduled jobs withcron, firewall basics withufw, SSH hardening, keeping packages updated - ending in a server-hardening cheat-card.
Deliberately deferred to a follow-up infrastructure track: SSH-key generation and agent forwarding in depth, configuration management (Ansible/cloud-init), reverse proxies and TLS, containers, and monitoring stacks. This guide gets you to competently administering one box by hand - the foundation everything else is automated on top of.