What it is
SSH, the Secure Shell protocol, gives you an encrypted connection to a remote computer. Once connected you can run commands on it as if you were sitting at its keyboard, copy files, or tunnel other traffic through the same encrypted link. It replaced older tools like telnet and rsh, which sent passwords in plain text.
OpenSSH, from the OpenBSD project, is the implementation almost everyone uses. It includes the ssh client, the sshd server, scp and sftp for file transfer, and ssh-keygen for key pairs. Logging in with a key instead of a password is the normal practice on servers. Keys can be limited to one user, and password logins can be switched off entirely.
How I use it
- I SSH into the Ubuntu instance that runs the Rental Pilot API, its MySQL databases and the real-time chat server.
- The database is not on the internet. It is bound to the server itself, so it is reached through the server rather than exposed directly.
- Deploys with rsync and git run over SSH from scripts with their own safety checks.
- Access follows least privilege, with separate AWS accounts per business and narrowly scoped IAM users.
SSH is the right tool any time a server has to be reached by a person or a script. I reach for it because I run the infrastructure as well as the application: the servers, the certificates, the mail and the deploy pipeline. It is also how tools like rsync and git move code onto a box without opening anything else to the internet.
Questions
Does Shawn Mervin manage his own servers?
Yes. I deploy and operate every system on my site end to end, including the Ubuntu server behind Rental Pilot, and I work on it over SSH.
Is your database exposed to the internet?
No. The Rental Pilot database is bound to the server itself, so it is reached from the server, not from the open internet.