When it comes to accessing and performing activities on remote servers using SSH, there are only few choices one can get. Most people use Putty and a graphical SFTP client like WinSCP or FileZilla to get their job done. Alternatively one can use web based control panel like Cockpit or Ajenti, which provides web based terminal and some graphical tools.
But still most of the time it's only the command line which becomes the last resort. Consider a few situation; you have to dig through some error messages from a huge log file of hundreds of mb or several gb. Or you have to update some configuration file
/etc directory, which requires to use sudo while saving or changing the file. Command line is the only choice you have, and if you are not really a cli pro or simply do not want to go through all the hassle of using difficult command line options, you might face some difficulty.
Well there is one tool that might be of some help, and it was written specifically to provide simple graphical interface for most common tasks performed on servers.
Introducing Snowflake SSH client
Its an open source SSH client, with some built in useful tools, hosted on GitHub.
Lets see some common scenario where it can be useful.
Sure you can use grep, vi, nano or less, but all of them are a bit restricting. Alternatively you can download it to your computer and dig through it, however it will take significant time to download the file. Snowflake has a built in log viewer for this purpose. It analyzes the file on server (without downloading it) and divides it into pages. It allows searching through the pages as well. Result is much less memory consumption and smooth navigation through the file.
If you need to edit a file, which is modifiable only by root user, you will again have to fall back to command line, using
sudo vi or
sudo nano. Same is true for renaming/creating/deleting files or directories which requires root permission. Snowflake gives you a graphical alternative. Whenever you perform such actions via its built in text editor or file browser, you will be prompted for an option to use sudo. If you agree it will execute sudo for you.
find command is very powerful but also has a tough syntax. If you use Snowflake, you can do powerful search operations without learning all the command line options. Also it supports searching through compressed files like tar and zip as well.
If you use WinSCP or FileZilla, you need to launch Putty for performing command line operations. Snowflake has built in terminal emulator with command snippets.
You can save your mostly used commands as snippets and run them later easily.
Not only you can launch the terminal from file browser to switch to a folder in terminal, but also you can even execute a script from file browser itself.
If you are a Linux/Unix pro you can do this easily using
top. But it's not very friendly if you are new at this. Also
htop is great but usually not installed on most systems.
Snowflake comes with a built in task manager like utility, which lets you view remote system load and processes easily. You can search, filter and kill processes very easily with an option for sudo.
Snowflake comes with many built in utilities like disk space analyzer, port analyzer, systemd service manager, SSH key manager etc which can provide alternative to many complex command like tools.
Hope you will find Snowflake useful and it will help you save some time and effort while using SSH and remote servers. If you feel some important utilities are missing, please suggest them on GitHub.
You should decide what tools to use, what patterns to follow, and what processes to implement based on the needs of your company and the problems you're facing. Don't use a tool just because [insert big tech company] uses it.