SSH, or secure shell, is a network protocol used for secure network communications and remote command execution. Common use cases for SSH include: controlling computers remotely and securing network services. A great example of securing other services is the SFTP protocol which uses SSH to securely connect to a server and FTP to transfer the files.
How do I use SSH?
Being used equally for both command execution and securing network services means there’s really two ways to use SSH. The best way to these is by breaking these concept down into those two parts. First learning how to ‘connect with ssh’ to remotely control a server and then the rest will come. Really by the time you’re ready to learn the rest you barely notice the SSH parts.
To learn more on the basics of SSH check out our 101 article here!
What services can be secured with SSH?
Well due to the flexibility provided nearly any network service can be secured with varying difficulties. Due to the security benefits a lot of tools work with SSH out of the box. For example: FTP via SFTP, rsync, git, and more. Here in our KB you can also find resources to learn how to use some of these tools.
The reason ‘and more’ really does mean nearly anything is because you can also use Tunneling mode. In this mode you’re connection will create local port usable as a proxy. This configurability means that you can even route remote services to a local port!
Maybe you need to show a local dev site from a remote location?
Instead of worrying about moving the site, messing with firewall settings or something use a tunnel. Setup a tunnel from the remote devices webserver port to local port 80. Then just edit your hosts file and pull up the site!
Learn more on….
Can I use it with a GUI?
The short answer is yes! The long answer is – you cannot directly use SSH (alone) with a GUI, while there exist GUI clients ultimately you end up in a CLI. However, what you can use exclusively in a GUI with SSH are things like FileZilla and SFTP, SCP with something like WinSCP, and other similar GUI based tools. Even tools like MySQL Workbench can be configured to connect to a remote device’s MySQL over SSH. So you can absolutely use SSH in a GUI depending on the service you’re looking to interact with!