Mit Snowflake verwalten Sie nicht nur SSH-Zugänge über eine GUI, sondern erhalten darüber hinaus einige nützliche Tools.
SSH steht für Secure Shell und ist der Standard, um unter Linux entfernte Rechner im Terminal zu verwalten. Wer auf eine größere Anzahl solcher Rechner im Netz Zugriff hat oder diese verwaltet, der freut sich über jede Gedächtnisstütze bezüglich der Domain-Namen und der zugehörigen IP-Adressen.
GUI mit Zusatznutzen
Dass das ohne Gedächtnistraining klappt, liegt unter anderem an Tools wie Snowflake [1], das als Client mit grafischer Oberfläche die Arbeit mit den Rechnern vereinfacht und darüber hinaus viele weitere Funktionen bietet.
Die Software ähnelt Putty, dem Programm WinSCP unter Windows oder Filezilla, einer GUI für FTP-Verbindungen. Power-User werfen an dieser Stelle vermutlich ein, dass sie Verbindungen doch im Terminal besser handhaben. Wer jedoch Snowflake getestet hat, dem kommt angesichts der Fülle der Funktionen diese Aussage vermutlich nicht mehr ganz so leicht über die Lippen.
Die Java-Anwendung läuft unter Linux, den BSD-Derivaten, HP-UX und Windows; eine Version für MacOS ist in Arbeit. Sie installieren die Software nur auf dem Client. Als Voraussetzung benötigt Snowflake mindestens Java 11, egal, ob Oracles proprietäre oder die freie Variante.
Grundlagen
Auf der Github-Seite [2] stehen die Versionen 1.0.3 für Java 11 und 1.0.4 für Java 13 bereit. Haben Sie bereits Java 13 installiert, nutzen Sie die neuere Version 1.0.4. Die vorhandene Java-Version verrät der Befehl java -version in einem Terminal.
Neben einem MSI-Installer für Windows sowie einem generischen Installer für 64-Bit-Linux ist die reine Java-Version ebenso im Angebot wie ein DEB-Paket für Debian und dessen Ableger. Die Pakete bringen jeweils um die 25 MByte auf die Waage.
Unter Debian und Derivaten ziehen Sie das Paket unter Angabe des vollen Pfads per Apt ins System. Üblicherweise liegt das Paket in ~/Downloads/, sodass meist der Befehl sudo apt install ~/Downloads/snowflake_1.0-3.deb zum Ziel führt. Mit dem Befehl sudo ./snowflake-1.0.3-setup-amd64.bin führen Sie den generischen Installer aus. Die Anwendung landet dabei in /opt/snowflake/.
In beiden Fällen starten Sie die Software anschließend per Terminal oder aus dem Menü heraus. Je nach Distribution müssen Sie die Datei unter Umständen vor dem Start mit den passenden Rechten ausstatten. Das klappt mit dem Befehl aus der erste Zeile von Listing 1. Das Java-Paket starten Sie gleich nach dem Download mit dem Befehl aus der zweiten Zeile. Im Test verhielt sich das Programm nach allen Methoden für die Installation identisch.
Listing 1
$ sudo chmod +x snowflake-1.0.3-setup-amd64-bin $ java -jar snowflake.jar
Wenig zu sehen
Nach dem ersten Start sehen Sie ein Fenster, das am oberen Rand links eine Schaltfläche für neue Verbindungen zeigt. Rechts finden sich drei Schaltflächen, die von links nach rechts eine Sitzung beenden, die Konfiguration aufrufen und Informationen zu Snowflake liefern. Links von diesen Schaltern erlaubt ein Menü den Wechsel zwischen Verbindungen (Abbildung 1).

Abbildung 1: Dank sinnvoller Voreinstellungen fällt die Konfiguration von Snowflake recht kurz aus. Sie stellen lediglich Dinge wie das Verhalten gegenüber Sudo, Copy & Paste sowie die Anzahl möglicher gleichzeitiger Sitzungen ein.
Außer viel weißer Fläche gibt es zunächst sonst nichts zu sehen. Ein Klick auf New Connection öffnet den Session Manager, der nach demselben Prinzip arbeitet wie der von Filezilla. Hier tragen Sie die benötigten Zugangsdaten für die Gegenstellen ein. Bei Bedarf legen Sie zudem über New Folder Ordner an, auf die Sie die Rechner zur besseren Übersicht verteilen.
Session Manager
Um einen entfernten Rechner einzutragen, vergeben Sie zunächst einen aussagekräftigen frei wählbaren Namen und tragen unter Host die IP-Adresse ein. Die Felder User und Password befüllen Sie mit den entsprechenden Informationen. Bei Local Folder und Remote Folder geben Sie Verzeichnisse an, die als Startpunkt dienen. Diese Felder dürfen Sie aber leer lassen und später manuell zum gewünschten Ausgangspunkt navigieren (Abbildung 2).

Abbildung 2: Im Session-Manager von Snowflake tragen Sie die Zugangsdaten der Gegenstellen ein, zu denen Sie sich verbinden möchten, und speichern sie für zukünftige Sitzungen.
Schlüssel oder Passwort?
Um sich bei der Gegenstelle mit einem Schlüssel zu authentifizieren, geben Sie im untersten Feld den privaten Teil des Schlüssels samt Pfad an. In diesem Fall darf das Feld für das Passwort leer bleiben, denn die Software fragt das Passwort für den Schlüssel vor dem Verbinden ab. Ein Klick auf Connect verbindet Sie danach mit dem gewünschten Rechner.
Im Test, bei dem alle Server mit Schlüsseln abgesichert waren, klappte die Verbindung auf diese Weise bei einigen Rechnern, bei anderen aber nicht. Des Rätsels Lösung lag in den unterschiedlichen Protokollen, mit denen die Schlüssel erstellt wurden: Mittels RSA erstellte funktionierten, während solche mit ED25519-Protokoll den Dienst verweigerten.
Der Unterschied liegt im Header des privaten Schlüssels. Bei mit RSA erzeugten Schlüsseln steht in der obersten Zeile BEGIN RSA PRIVATE KEY, bei ED25519 dagegen BEGIN OPENSSH PRIVATE KEY. Das bringt Snowflake derzeit aus dem Tritt, wie aus einem Fehlerbericht auf Github hervorgeht [3]. Bis die Snowflake-Entwickler diesen Fehler behoben haben, sollten Sie neue Schlüssel mit RSA erstellen. Das Umwandeln des Schlüssels in das vom Programm unterstützte Format gelang im Test nicht.
Client und Server
Nach der Verbindungsaufnahme befinden Sie sich im auf SFTP basierenden Dateimanager im Reiter Files. Links sehen Sie die Struktur auf dem entfernten Rechner, rechts jene auf dem Client. Sie navigieren in dieser Ansicht via Menü durch Verzeichnisse oder lösen per Kontextmenü Aktionen wie Kopieren, Löschen, Umbenennen, Verschieben oder das Ver- und Entpacken von Archiven aus. Das Ändern von Berechtigungen und das Herunterladen von Dateien ist ebenfalls möglich (Abbildung 3).

Abbildung 3: Der im Reiter Files angesiedelte Dateimanager zeigt links den gewählten Server und rechts den Client. Bei Bedarf steuern Sie für die rechte Seite einen zweiten Server an.
Das Verschieben von Dateien oder Verzeichnissen vom Client zum Server und umgekehrt gelingt per Drag & Drop (Abbildung 4). Bei Aktionen mit größerem Umfang führen Sie diese im Hintergrund aus. Im selben Reiter finden sich neben dem Dateimanager ein Texteditor, ein Log-Viewer und eine detaillierte Suchfunktion auf der Basis des Linux-Befehls Find.

Abbildung 4: Das Kopieren und Verschieben von Dateien im Dateimanager gelingt sowohl über das Kontextmenü als auch mit der Maus. Sind dabei Root vorbehaltene Dateien betroffen, schlägt die Software den Einsatz von Sudo vor und fragt das Passwort ab.
Der Log-Viewer ist besonders praktisch, da er selbst Logs mit mehreren Terabyte Größe zügig öffnet und so einen Download überflüssig macht. Skripte führen Sie über den Dateimanager aus, indem Sie das Kontextmenü der Skriptdatei aufrufen und Run file in Terminal wählen (Abbildung 5).

Abbildung 5: Der Reiter Files integriert neben einem Dateimanager, einem Texteditor und einem Log-Viewer eine Suchfunktion, die auf dem mächtigen Linux-Befehl Find basiert und vielfältige Optionen zum Eingrenzen des gesuchten Objekts bietet.
Server zu Server
Wollen Sie im Dateimanager statt dem Client einen weiteren Server verwalten, klicken Sie auf das Ausklappmenü in der rechten Ansicht, das den Pfad des Clients enthält, und wählen New Tab und anschließend SFTP. Jetzt verbinden Sie sich zu einem weiteren, im Session-Manager hinterlegten oder neu einzutragenden Server. Anschließend können Sie Dateien zwischen beiden Servern transferieren.
Dabei benötigen Sie für einige Aktionen Root-Rechte auf dem Server. Das klappt ebenfalls via Dateimanager, sofern Sie Sudo auf dem Server vorab entsprechend konfiguriert haben. Setzt eine Aktion Root-Rechte voraus, fragt Snowflake, ob Sie Sudo verwenden möchten. Selbst der Texteditor ruft gegebenenfalls Sudo auf.
Zusatzfunktionen
Wie Sie vielleicht bemerkt haben, füllte sich die Leiste am linken Rand nach dem Verbinden mit mehreren Reitern. Neben dem Standardreiter Files, der unter anderem den Dateimanager enthält, tauchen hier die Reiter Terminal, System Monitor, Disk Space Analyzer, Active Transfers, Linux Tools, SSH Keys und Network Tools auf. Einige davon verfügen über weitere Reiter.
Ein auf dem Server geöffnetes Terminal nutzen Sie so, wie Sie es auch auf Ihrem Client nutzen würden. Bei Bedarf verbinden Sie sich von dort aus auf weitere Server.
Der System Monitor (Abbildung 6) zeigt grafisch die Auslastung von CPU und RAM und listet außerdem auf einem weiteren Reiter alle laufenden Prozesse auf. Über eine Schaltfläche am unteren Rand beenden Sie Prozesse direkt aus dieser Ansicht heraus.

Abbildung 6: Der Systemmonitor zeigt auf einen Blick die Auslastung von CPU und RAM. Ein weiterer Reiter zeigt die Last durch einzelne Prozesse an.
Nützliche Tools
Der Disk Space Analyzer zeigt die Belegung des Dateisystems, alternativ analysieren Sie einzelne Verzeichnisse. Unter Active Transfers sehen Sie laufende Datenübertragungen von oder zum Server. Hinter Linux Tools finden Sie drei Reiter zu Systeminformationen, Systemd-Diensten sowie den an Ports lauschenden Prozessen (Abbildung 7).

Abbildung 7: Hinter dem Reiter Linux-Tools verbergen sich neben der Anzeige von Prozessen und deren Ports sowie einer Liste der Systemd-Dienste außerdem weitere Informationen über das System, die Hardware, den Kernel und das Betriebssystem.
Der Reiter SSH Keys zeigt die Schlüssel sowohl auf dem Server als auch auf dem Client an und erlaubt das Erstellen neuer Keys sowie das Verschieben eines Public Keys auf den Server. Hinter Network Tools verbergen sich Werkzeuge wie Ping, Port-Check, Traceroute und Tools für das DNS-Lookup.
Fazit
Hat man sich erst einmal von dem Dogma befreit, das Administrieren von Servern müsse im Terminal stattfinden, erweist sich Snowflake SSH als äußerst nützliches Werkzeug. Die Software vereint derart viele Werkzeuge unter einer Oberfläche, dass hier das übliche Argument nicht greift, eine GUI wäre langsamer als die Arbeit im Terminal. In der Todo-Liste [4] des Entwicklers warten unter anderem ein Plugin-System und die Unterstützung für Mosh [5] auf die Integration.
Eine Dokumentation braucht das Programm eigentlich nicht, da sich fast alle Funktionen intuitiv erschließen. Der Entwickler erläutert viele Features zusätzlich auf der Seite der Entwickler-Community DEV.to [6]. Obwohl Snowflake erst vier Monate alt ist, verspricht die agile Entwicklung für die Zukunft noch einige Aha-Effekte. (agr)
Infos
- Snowflake: https://dev.to/subhra74/how-to-make-you-life-easier-on-remote-linux-servers-ssh-g7m
- Github: https://github.com/subhra74/snowflake/
- Bugreport: https://github.com/subhra74/snowflake/issues/50
- Todo-Liste: https://github.com/subhra74/snowflake/projects/1
- Mosh: https://mosh.org/
- DEV.to: https://dev.to/subhra74/how-to-make-you-life-easier-on-remote-linux-servers-ssh-g7m





