Table of contents of the article:
There was a time – and not too long ago – when working as a web developer meant uploading files via FTP with FileZilla, setting permissions from the Plesk or cPanel screen, and maybe crossing your fingers that everything would work on the first try.
It was a simpler world, perhaps, but also a much more limited one.
In those years (we are talking about 10-15 years ago), few developers ventured outside the “comfort zone” of control panels. Those who talked about SSH were often considered hardcore system administrators, experts in the black magic of the console. But something has changed. And quite clearly.
The Evolution of the Developer Figure
With the evolution of the Web and the arrival of new professions such as DevOps Engineer and Full Stack Developer, the boundaries between development and systems engineering have progressively become thinner. Today it is absolutely normal to see a frontend developer installing an NGINX, configuring an SSL certificate, accessing via SSH to a remote server to run a script or monitor a process.
The shell, once avoided like the plague by many developers, has become an everyday environment. And the Secure Shell (SSH) It is the main tool for managing any remote server with a minimum of seriousness.
Why SSH Became a De-Facto Standard
SSH (Secure Shell) is a network protocol that allows secure remote access to a system. Its importance has grown exponentially due to three main factors:
- Greater security than protocols such as FTP or Telnet: SSH encrypts all communications, making them secure even on untrusted networks.
- Flexibility and power: With a single SSH connection you can upload files, execute commands, tunnel, and even forward TCP ports.
- Automation: SSH allows you to automate repetitive tasks with tools like
scp
,rsync
,sshpass
, or by using public/private keys.
For these reasons, today we do not know at least the SSH basics is equivalent to being out of time. It doesn't matter if you are a WordPress developer, a React frontend or a Laravel expert. If you don't know how to use ssh
, you are a missing link in the modern IT chain.
The contribution of Apple and UNIX-like systems
A far from secondary role in the spread of the use of the shell — and consequently of SSH — was played by Apple and its operating system MacOS. Unlike Windows, which until a few years ago confined the use of the terminal to an obscure and not very functional space, macOS has always been based on an architecture UNIX-like. This means that under the elegant graphical interface hides a solid and powerful heart: an operating system derived from BSD, perfectly compatible with the vast majority of commands and conventions present on Linux.
The growing adoption of macOS by designers, frontend developers, web and mobile developers has had a very positive side effect: it has normalized terminal usage for an entire generation of digital professionals. It was no longer necessary to install complex software or virtualized environments to have access to a functional shell: it was enough to open the Terminal app. Furthermore, with the introduction of the zsh
as the default shell (instead of the historical one bash
), Apple has made the command line experience even more enjoyable, modern and accessible, even for newbies.
Many developers coming from the Windows world have thus found themselves, for the first time, at ease with using the terminal, learning how to execute commands, install packages, use SSH to access their remote servers, and set up local development environments in a professional manner.
This paradigm shift created a real “cultural bridge” to Linux. Learning basic commands on macOS made the transition to using Linux servers natural and frictionless. Commands like brew install
(Homebrew, the package manager for macOS) have accustomed developers to the logic of package managers. So, switching from brew install
a apt install
(on Debian/Ubuntu) or yum install
/ dnf install
(on CentOS, AlmaLinux and the like) has become almost trivial.
It is no coincidence that today, over 95% of LAMP hosting environments (Linux, Apache/Nginx, MySQL/MariaDB, PHP) are based on Linux distributions, and that the vast majority of cloud-native development tools take familiarity with the terminal for granted. Apple, with its ecosystem, has contributed significantly to bridging the cultural gap between frontend development and systems engineering, promoting an environment where the use of SSH and the shell is not only possible, but highly encouraged.
The SSH Basics Every Developer Should Know
You don't have to become an expert sysadmin right away. But the following skills are the minimum union for any professional figure who works in the world of IT development or management:
- Access a remote server with
ssh utente@IP
- Upload files with
scp
orsync
- Use
chmod
,chown
,ls -la
to manage permissions and properties - Navigate with
cd
,ls
,pwd
- Compress and decompress files with
tar
,gzip
,unzip
- Monitor processes with
top
,htop
,ps
,df
,du
- Edit configuration file with
nano
,vim
ovi
- Restart services with
systemctl
oservice
Learning these commands instantly transforms you from a simple developer to a conscious and independent professional.
DevOps is no longer a niche
We no longer talk about elites. The approach DevOps – which involves close collaboration between development and operations – has made knowledge of tools such as Git, Docker, CI/CD, but also and above all interaction via terminal with servers, essential.
DevOps is not a role, it's a mindset. And in this mindset, the shell is your best ally.
SSH improves the quality of your work
Using SSH saves you time. Period.
- Upload a file via
scp
It's instant, secure and scriptable. - Modify
wp-config.php
directly on the server, avoiding a thousand steps via FTP. - Running compressed backups from the shell allows you to download only what you need, without spending hours downloading thousands of files via cPanel.
- Automating access with SSH keys allows you to configure remote cron jobs, continuous deployments, automated updates.
SSH makes your work smoother, faster, more solid.
A real competitive advantage in the world of work
Recruiters today know this well: Knowing SSH is no longer a bonus, but a basic requirement for anyone working in web development or IT in general. Companies are not just looking for developers who know how to write code, but professionals who understand the environment in which that code is executed and deployed.
In 2025, reading a resume that says “developer who doesn’t know SSH” is like coming across an accountant who says he doesn’t know how to use Excel. It’s a sign of a major gap, a weak point that needs to be filled urgently. Nobody expects you to be a system expert, but familiarity with the shell and basic server management has now become a core competence.
Whether you are a small web agency, a tech startup or an international big tech, everyone expects a developer to at least know how to connect via SSH to a remote server, consult logs, check the status of services and maybe restart them if necessary. It is a skill that demonstrates autonomy, reliability and a certain level of professional maturity.
In many work contexts, knowing how to use SSH can make the difference between being seen as a dependent technician or as a versatile and autonomous resource. Furthermore, demonstrating knowledge of SSH in the interview or selection phases can mean having access to most interesting roles, greater responsibilities and often also to better compensations.
Modern alternatives: but SSH remains the heart
It is true that today the market offers a multitude of tools with graphical interfaces (GUI) that allow you to manage servers and files remotely without writing a single line of code. Applications such as fileZilla (supporting SFTP), advanced editors like Visual Studio Code with integrated SSH plugins, or PaaS panels like Run Cloud, Cloudways o ServerPilot, allow you to carry out many daily operations in a simple and intuitive way.
But there is a fundamental point: all of these tools, under the hood, use SSH. Connecting to the server, securely transferring files, executing commands: it all happens through SSH sessions disguised as user-friendly interfaces. This means that when something breaks, when more precise diagnostics or manual intervention is needed — and it's only a matter of time — the console becomes indispensable.
Relying solely on a GUI is risky. You don't always have complete access to everything that happens on the server. Some advanced operations, such as changing permissions, changing file ownership, configuring a web server, or debugging a frozen process, require direct interaction with the operating system. And to do that, you need the shell.
Additionally, using the command line offers speed, control, and precision that is impossible to achieve with just clicking a mouse. A true IT professional cannot ignore SSH, even if he then chooses to use graphical tools for convenience in his daily routine. The difference between a user and an expert is often measured precisely in this ability to switch from GUI to CLI when needed.
And if you really want to get started: resources and ideas
To learn SSH from scratch, you just need two things: Curiosity e practice. Here are some useful resources:
- Official OpenSSH Guide
- The book “The Linux Command Line” by William Shotts – available for free at linuxcommand.org
- Interactive tutorials like OverTheWire – Bandit
- Free course on YouTube: search for “SSH for beginners”
- Practice on free servers or in local development environments with tools like multipass o Vagrant
Conclusion: It's time to close the gap
If you're a developer, a junior system administrator, or just someone who works in the IT world and doesn't yet know basic SSH commands, It's time to update you.
Not doing so means closing yourself off from opportunities, slowing down your work, and falling behind in a fast-paced world.
SSH is not difficult. It is not complicated. It is simply essential.