SSH (Secure Shell) gives you a real, direct command line on a remote server — the same kind of terminal access you'd have sitting physically in front of the machine, over an encrypted connection. It is the standard way of genuinely administering a VPS or dedicated server, where there is no control panel abstracting the work away.
ssh username@your-server-ip
# or, using a domain already pointed at the server
ssh username@example.comAfter authenticating — with a password, or more securely with an SSH key (a cryptographic key pair, covered briefly below) — you land at a command prompt running directly on the remote server, exactly as if you had opened a terminal on that machine yourself.
An SSH key pair is a more secure alternative to a password: a private key stays on your own computer, never shared, and a matching public key is placed on the server. The server can verify you hold the matching private key without that key ever being transmitted — meaningfully more secure than a password alone, and the standard, expected way to connect for any serious server work.
| Command | Does |
|---|---|
| ls | Lists files in the current directory |
| cd foldername | Changes into a directory |
| pwd | Shows the current directory's full path |
| nano filename or vim filename | Opens a file in a terminal-based text editor |
| cp / mv / rm | Copies, moves/renames, or deletes a file |
| sudo command | Runs a command with administrator privileges |
This is a genuinely small set. A large share of real server work — deploying an app, checking logs, restarting a service, editing a configuration file — is built from just these commands, repeated and combined.
SSH gives you real power, with no safety net
There is real risk here that a control panel deliberately prevents by design: a mistyped command with sudo, especially involving rm (delete), can genuinely damage a server with no confirmation prompt and no undo. Move carefully, double-check any command before running it with elevated privileges, and keep backups (covered in a later lesson) before experimenting on anything that matters.
Shared hosting rarely requires it — the control panel from the previous lesson covers nearly everything a shared hosting user needs. SSH becomes necessary once you're on a VPS or dedicated server, or when a cloud platform's deployment or debugging tools specifically require it. It is also directly relevant to the Node.js and connecting-to-a-database material on this site, where a live server session is often the fastest way to diagnose a real problem.