⚙⚙⚙

// HOST HINZUFÜGEN

Tippe auf die Schaltfläche + im Host-Bildschirm, um einen neuen Server hinzuzufügen (unter iOS öffnet sie ein kurzes Menü: wähle Host hinzufügen).

Pflichtfelder

  • Hostname / IP — die Server-Adresse oder IP. Sowohl IPv4 als auch IPv6 werden unterstützt.
  • Port — Standard ist 22. Ändere ihn, wenn dein Server SSH auf einem anderen Port betreibt.
  • Benutzername — der Unix-Benutzer, mit dem du dich anmelden möchtest (z. B. ubuntu, root, deploy).
  • Authentifizierung — wähle zwischen Passwort oder SSH-Schlüssel (empfohlen).

Host-Fingerabdruck-Verifizierung

Bei der ersten Verbindung zeigt SSHBorg den Fingerabdruck des Servers und bittet dich, ihn zu akzeptieren. Dies ist eine Sicherheitsprüfung: Sie stellt sicher, dass du dich mit dem richtigen Gerät verbindest und nicht mit einem Angreifer. Überprüfe, ob der Fingerabdruck mit dem übereinstimmt, den dir dein Server-Administrator mitgeteilt hat oder den du über einen vertrauenswürdigen Kanal erhalten hast.

Nach der Akzeptanz wird der Fingerabdruck lokal gespeichert. Wenn er sich bei einer zukünftigen Verbindung ändert, warnt dich SSHBorg — dies könnte auf einen Server-Neuaufbau, eine Schlüsselrotation oder einen Man-in-the-Middle-Angriff hinweisen.

// TIPP
Den Server-Fingerabdruck kannst du jederzeit überprüfen mit:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

// HOST-GRUPPEN

Wenn die Serverliste wächst, kannst du Hosts in einklappbare, farblich markierte Gruppen organisieren — zum Beispiel Produktion, Homelab, Kunden.

Eine Gruppe erstellen

  1. Füge einen Host hinzu oder bearbeite ihn und öffne das Dropdown Gruppe.
  2. Wähle Neue Gruppe…, gib einen Namen ein und wähle eine der vordefinierten Farben.
  3. Speichere den Host — die Hostliste zeigt die Gruppe nun als eigenen Abschnitt.

Unter iOS lässt sich eine Gruppe auch für sich allein anlegen, über die Schaltfläche + → Neue Gruppe.

Mit Gruppen arbeiten

  • Ein-/Ausklappen — tippe auf die Gruppenüberschrift, um sie zu- oder wieder aufzuklappen. Der Zustand wird gemerkt, auch nach einem Neustart der App.
  • Farbe — die Gruppenfarbe erscheint als Punkt in der Überschrift und als Einfärbung der Host-Symbole in der Gruppe.
  • Bearbeiten — halte die Überschrift gedrückt und wähle Bearbeiten, um die Gruppe umzubenennen oder die Farbe zu ändern.
  • Löschen — halte die Überschrift gedrückt und wähle Löschen. Die Hosts der Gruppe werden nicht gelöscht — sie sind danach einfach ohne Gruppe.

Farben lassen sich aus den Schnellauswahl-Feldern wählen oder unter Android frei mit dem Verlaufs-Farbwähler mischen — unter iOS stehen die Farbfelder zur Auswahl. Ein Host kann auch eine eigene Farbe haben — einstellbar im Host-Editor direkt unter der Gruppe —, die die Gruppenfarbe überschreibt und auch für Hosts ohne Gruppe funktioniert.

Hosts ohne Gruppe bleiben oben in der Liste, und solange du keine Gruppe erstellst, sieht die Liste genauso aus und verhält sich genauso wie bisher.

Reihenfolge

Wähle unter Einstellungen → Reihenfolge der Hostliste, wie die Liste angeordnet wird:

  • Alphabetisch (Standard) — Gruppen nach Name, Hosts nach Bezeichnung innerhalb jeder Gruppe.
  • Zuletzt verwendet — der zuletzt verbundene Host steht oben; nie verwendete Hosts stehen unten.
  • Am meisten verwendet — Hosts mit den meisten Verbindungen zuerst.
  • Manuell — die Reihenfolge, die du selbst festlegst.

In den ersten drei Modi bleiben die Gruppen alphabetisch, sodass die Abschnittsüberschriften nie wandern und nur die Hosts darin neu angeordnet werden. In der manuellen Reihenfolge lassen sich auch die Gruppen verschieben.

Zum Umsortieren wähle Manuell, öffne dann das Menü eines Hosts oder einer Gruppenüberschrift — die Schaltfläche ⋮ (… unter iOS), ein langer Druck oder die Menü-Taste der Android-TV-Fernbedienung — und nutze Nach oben / Nach unten. Ein Host bewegt sich nur innerhalb seines eigenen Abschnitts: um ihn in eine andere Gruppe zu legen, ändere die Gruppe im Host-Editor. Beim Wechsel auf manuell bleibt genau die Reihenfolge erhalten, die gerade zu sehen war, es springt also nichts, und später hinzugefügte Hosts landen am Ende ihres Abschnitts.

// SFTP-DATEIMANAGER

Der SFTP-Dateimanager ermöglicht es, Dateien auf dem Server direkt vom Telefon aus zu durchsuchen, hochzuladen, herunterzuladen, umzubenennen und zu löschen. Öffne ihn vom Host-Bildschirm aus über Dateien im Menü eines Hosts.

Navigation

Tippe auf einen Ordner, um ihn zu öffnen. Verwende den Zurück-Pfeil oder tippe auf ein Segment der Pfadleiste, um im Verzeichnisbaum nach oben zu navigieren. Ein Tippen auf eine Datei öffnet, was du mit ihr tun kannst: herunterladen, im Editor öffnen, umbenennen, löschen.

Symbolische Links werden mit einem kleinen Ketten-Badge angezeigt. Antippen eines Symlinks navigiert zum Ziel: Zeigt er auf ein Verzeichnis, wird es geöffnet; zeigt er auf eine Datei, verhält er sich wie eine normale Datei.

Dateien hochladen

Tippe auf die Upload-Schaltfläche (↑), um eine oder mehrere Dateien aus dem Gerätespeicher auszuwählen. Der Upload startet sofort, der Fortschritt wird oben im Bildschirm angezeigt.

Dateien und Ordner herunterladen

Tippe auf das Download-Symbol rechts in der Zeile einer Datei, um sie sofort herunterzuladen. Um einen ganzen Ordner herunterzuladen, tippe auf das Download-Symbol daneben — SSHBorg lädt den gesamten Verzeichnisbaum herunter und speichert ihn im Downloads-Ordner des Telefons.

Existiert eine Datei am Ziel bereits, fragt ein Dialog, ob sie überschrieben, übersprungen oder der gesamte Transfer abgebrochen werden soll.

// HINWEIS ZU SYMLINKS
Beim Download eines Ordners werden symbolische Links, die auf Verzeichnisse zeigen, übersprungen — es werden nur reguläre Dateien (einschließlich Symlinks auf Dateien) heruntergeladen. Dies verhindert unbeabsichtigte rekursive Downloads.

Mehrfachauswahl und Batch-Operationen

Tippe in der Symbolleiste auf Elemente auswählen, um den Auswahlmodus zu aktivieren, und hake dann die gewünschten Elemente an. Die Symbolleiste zeigt die verfügbaren Aktionen:

  • Herunterladen — lädt alle ausgewählten Dateien und Ordner auf einmal herunter, mit Fortschrittsdialog und Abbruchmöglichkeit.
  • Löschen — löscht alle ausgewählten Elemente. Das Löschen eines nicht leeren Ordners entfernt alle Inhalte rekursiv. Dies kann nicht rückgängig gemacht werden.

Dateien auf dem Server verschieben

Wähle Ausschneiden im Menü einer Datei oder eines Ordners — oder mehrere zugleich über Elemente auswählen — öffne dann den Zielordner und tippe in der Leiste über der Liste auf Einfügen. Das Verschieben erledigt der Server selbst: nichts wird herunter- oder hochgeladen, also ist eine Datei jeder Größe sofort verschoben.

Ist der Name im Ziel schon vergeben, fragt SSHBorg, bevor es etwas anfasst. Eine Datei kann ersetzt oder neben der vorhandenen behalten werden; zwei Ordner mit gleichem Namen können nur nebeneinander bestehen, denn kein SFTP-Server kann Ordner zusammenführen — mv verweigert das ebenso. Auch das Verschieben zwischen zwei verschiedenen Datenträgern des Servers wird abgelehnt: ein Verschieben ist ein Umbenennen, und das reicht nicht über Dateisystemgrenzen. Dafür bräuchte es eine Kopie, die SSHBorg noch nicht kann.

Dateien bearbeiten

Tippe auf eine Datei, um ihr Menü zu öffnen, und wähle Im Editor öffnen, um sie direkt auf dem Server zu ändern. Auf dem Telefon bleibt nichts: Die Datei wird in den Speicher gelesen, bearbeitet und direkt zurückgeschrieben.

Die Datei geht zurück, wie sie kam. Die Zeichenkodierung wird erkannt und beim Speichern wieder verwendet, Zeilenenden (LF oder CRLF) bleiben erhalten, eine Datei ohne abschließenden Zeilenumbruch behält das, und die Rechte bleiben unverändert. Wurde die Kodierung falsch gelesen, tippe sie in der Leiste am unteren Rand an und wähle eine andere — die Liste bietet nur Kodierungen an, die die Bytes dieser Datei exakt wiedergeben können, eine falsche Wahl kann also falsch aussehen, die Datei aber nicht beschädigen.

Beim Speichern wird zuerst eine temporäre Datei neben dem Original geschrieben und dann an dessen Stelle umbenannt, damit eine auf halbem Weg verlorene Verbindung keine halb geschriebene Datei zurücklässt.

Dateien öffnen bis 4 MB, gleich welcher Länge: gezeichnet werden nur die Zeilen auf dem Bildschirm, also scrollt eine Datei von Megabyte wie eine kurze. Darüber ist das Terminal die Antwort, mit nano oder vi, und das kennt gar keine Grenze.

Konfigurationsdateien werden eingefärbt — Kommentare, Zeichenketten, Zahlen, Schlüssel, Abschnittsüberschriften, Shell-Variablen und XML-Tags — anhand des Dateinamens oder, wenn der nichts sagt, anhand der Form des Inhalts: Shell-Skripte, Direktiven im Stil von nginx und sshd, INI, YAML, JSON und XML. Fließtext, Notizen und Logs bleiben bewusst ohne Farbe, wo sie nur Lärm wäre. Das Einfärben ist reine Darstellung und ändert kein einziges Byte.

Hex-Editor

Eine Datei, die kein Text ist, öffnet im Hex-Editor: links die Offsets, in der Mitte die Bytes, rechts die druckbaren Zeichen und unten ein Tastenfeld für die Hex-Ziffern. Tippe ein Byte an und gib zwei Ziffern ein, um es zu ersetzen. Werte ändern sich, die Länge nie — jedes Offset bleibt, wo es war. Hexadezimal öffnen im Menü einer Datei öffnet jede Datei so, und eine fälschlich für binär gehaltene Textdatei — etwa mit einem versehentlichen NUL-Byte — lässt sich im selben Dialog trotzdem als Text öffnen.

// iOS
  • Hochladen — öffne das Menü Aktionen (⋯) und wähle Hochladen …; die Dateien wählst du im Dateien-Browser des Systems aus.
  • Wohin Downloads gehen — in den eigenen Ordner von SSHBorg, den die Dateien-App unter Auf meinem iPhone → SSHBorg zeigt (Auf meinem iPad auf einem iPad). Ein Download überschreibt nie etwas: Ist der Name vergeben, erhält die neue Datei einen nummerierten Namen.
  • Ordner — drücke lange auf eine Datei oder einen Ordner, um das Menü zu öffnen: Herunterladen, Umbenennen, Löschen.
  • Mehrfachauswahl — wähle Elemente auswählen im Menü Aktionen und hake dann die Elemente an. Ein langer Druck öffnet stattdessen das Menü des Elements.
  • Konflikte beim Hochladen — der Dialog bietet Überschreiben, Beide behalten (die hochgeladene Datei bekommt einen neuen Namen) oder Abbrechen.
  • Bearbeiten — den Editor und den Hex-Editor gibt es auch hier: das Menü einer Datei (langer Druck) bietet Im Editor öffnen und Hexadezimal öffnen. Während sie lädt, liegt die Datei kurz im temporären Ordner der App und wird entfernt, sobald sie gelesen ist.
  • Speichern — die Datei wird direkt über das Original geschrieben, nicht in eine temporäre Datei daneben, die dann an ihre Stelle umbenannt wird; eine mitten im Speichern abgebrochene Verbindung kann sie also halb geschrieben zurücklassen.

// SSH-SCHLÜSSEL

Schlüsselbasierte Authentifizierung ist sicherer als Passwörter und erfordert nach der Einrichtung kein Eintippen mehr.

Schlüssel generieren

Tippe auf das Schlüssel-Symbol oben im Host-Bildschirm, um SSH-Schlüssel zu öffnen, und generiere dann einen neuen Schlüssel. SSHBorg unterstützt:

  • Ed25519 — empfohlen. Schnell, kompakt und sicher.
  • ECDSA (P-256 / P-384) — gute Kompatibilität mit älteren Servern.
  • RSA (2048 / 4096 Bit) — maximale Kompatibilität, aber langsamer.

Gib dem Schlüssel einen aussagekräftigen Namen (z. B. mein-vps oder arbeits-server), damit du ihn später wiedererkennen kannst.

// SICHERHEITSHINWEIS
SSHBorg erlaubt absichtlich keinen Export privater Schlüssel. Der Schlüssel verlässt das Gerät nie. Wenn du denselben Schlüssel auf einem anderen Gerät benötigst, generiere dort einen neuen und autorisiere ihn separat auf deinen Servern — das ist der sicherere Ansatz.

Schlüssel auf dem Server autorisieren

Nach dem Generieren eines Schlüssels tippe darauf, um den öffentlichen Schlüssel zu sehen. Kopiere ihn und füge ihn in die Datei ~/.ssh/authorized_keys des Servers für den gewünschten Benutzer ein.

  1. Öffne auf deinem Smartphone SSHBorg → SSH-Schlüssel (das Schlüssel-Symbol im Host-Bildschirm) → tippe auf den Schlüssel → öffentlichen Schlüssel kopieren.
  2. Melde dich bei deinem Server an (mit Passwort oder einem anderen bereits vorhandenen Schlüssel).
  3. Füge den öffentlichen Schlüssel zur Authorized-Keys-Datei hinzu:
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    echo "ssh-ed25519 AAAA...deinkopierterSchlüssel..." >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  4. Versuche, dich mit SSHBorg zu verbinden — es sollte sich ohne Passwortabfrage anmelden.
// SERVER-VORAUSSETZUNG
Stelle sicher, dass dein Server PubkeyAuthentication yes in /etc/ssh/sshd_config hat. Dies ist auf den meisten Distributionen der Standard, aber einige gehärtete Images deaktivieren es.

Gespeicherte Schlüssel und Passwörter verschlüsseln

Aktiviere Einstellungen → Sicherheit → Sensible Daten verschlüsseln, um private Schlüssel und gespeicherte Host-Passwörter verschlüsselt abzulegen, mit einem Schlüssel in der sicheren Hardware des Geräts — dem Android Keystore bzw. unter iOS dem Schlüsselbund. Die Option bleibt aus, bis du sie einschaltest; der Sicherheitstipp beim ersten Start weist darauf hin.

Verschlüsselte Daten sind an das Gerät und an diese Installation der App gebunden: Nach dem Deinstallieren lassen sich die gespeicherten Schlüssel nicht wiederherstellen, und du müsstest neue generieren und erneut auf deinen Servern autorisieren. Zusammen mit einer App-Sperre wird das dringend empfohlen, wenn du sensible Server-Zugangsdaten auf dem Smartphone hast.

Ein mit einer Passphrase geschützter Schlüssel verlangt sie einmal, beim Import, und wird danach entsperrt gespeichert: die Passphrase selbst landet nie auf dem Gerät. Eine Passphrase wird meist noch woanders verwendet, ein privater Schlüssel gilt nur für sich — und ein Schlüssel, der neben seiner eigenen Passphrase liegt, wäre von ihr ohnehin nicht geschützt. Hier schützen ihn der private Speicher der App, Sensible Daten verschlüsseln und die App-Sperre. Ein von einer früheren Version importierter Schlüssel blieb verschlüsselt und kann sich nicht anmelden; die Liste zeigt sie, und sie müssen neu importiert werden.

Zwei verschlüsselte Formate, die die App nicht öffnen kann: der OpenSSL-Container (BEGIN ENCRYPTED PRIVATE KEY) und PuTTYs .ppk. Der Import sagt das, anstatt den Schlüssel halb zu übernehmen. Entschlüssle ihn mit dem Werkzeug, das ihn erstellt hat, und importiere ihn erneut — an einer Kopie, nie an der einzigen Datei, die du hast:

ssh-keygen -p -N "" -f id_ed25519_copy
openssl pkcs8 -in key.pem -out key_plain.pem

PuTTYgen wandelt ein .ppk über Conversions → Export OpenSSH key um.

// iOS
Auf iOS läuft es genauso: die Passphrase wird einmal beim Import verlangt, der Schlüssel entsperrt gespeichert, die Passphrase nirgends geschrieben. Ein Format lehnt iOS zusätzlich ab: neben dem OpenSSL-Container und PuTTYs .ppk auch die alte PEM-Verschlüsselung (Proc-Type: 4,ENCRYPTED), die ssh-keygen -m PEM mit Passphrase schreibt. Entschlüssle einen solchen Schlüssel und importiere ihn erneut.

// BEFEHLSVORSCHLÄGE

SSHBorg zeigt eine Vorschlagsleiste über der Tastatur an, während du im Terminal tippst. Die Vorschläge stammen aus der Shell-Historie des Benutzers, mit dem du dich verbunden hast.

Funktionsweise

Wenn eine Terminal-Sitzung geöffnet wird, liest SSHBorg die Shell-Historiendatei vom Remote-Server. Es werden folgende Pfade der Reihe nach geprüft:

  1. ~/.bash_history — Standard für Bash-Shells
  2. ~/.zsh_history — Standard für Zsh (wird auch als $HISTFILE geprüft, wenn gesetzt)
  3. ~/.local/share/fish/fish_history — für Fish-Shell-Benutzer

Die erste vorhandene und lesbare Datei wird verwendet. Während du tippst, werden Befehle in Echtzeit gefiltert und als Chips in der Vorschlagsleiste angezeigt. Tippe auf einen Chip, um den Befehl einzufügen.

Fehlerbehebung

Es werden keine Vorschläge angezeigt

  • Die Historiendatei existiert möglicherweise noch nicht (erste Anmeldung oder Shell nicht für das Speichern der Historie konfiguriert).
  • Stelle sicher, dass deine Shell die Historie speichert. Für Bash füge zu ~/.bashrc hinzu:
    HISTFILE=~/.bash_history
    HISTSIZE=10000
    HISTFILESIZE=20000
  • Für Zsh füge zu ~/.zshrc hinzu:
    HISTFILE=~/.zsh_history
    HISTSIZE=10000
    SAVEHIST=10000
    setopt APPEND_HISTORY SHARE_HISTORY

Vorschläge gehören dem falschen Benutzer

// BEKANNTE EINSCHRÄNKUNG
Wenn du dich als ein Benutzer verbindest und dann sudo su - root ausführst (oder mit su zu einem anderen Benutzer wechselst), zeigt die Vorschlagsleiste weiterhin die Historie des ursprünglichen Anmeldebenutzers, nicht von root. Dies liegt daran, dass SSHBorg die Historiendatei liest, bevor die Shell startet, und dabei die Anmeldedaten verwendet.

Um Vorschläge aus der Root-Historie zu erhalten, füge in SSHBorg einen separaten Host-Eintrag hinzu, der direkt als root anmeldet (sofern dein Server dies erlaubt).

// TERMINAL-GESTEN

Das Terminal reagiert neben der Tastatureingabe auf einige Touch-Gesten:

  • Verlauf scrollen — nach oben oder unten wischen, um den Scrollback-Puffer zu durchsuchen.
  • Zoom — mit zwei Fingern zoomen, um die Textgröße anzupassen.
  • Text kopieren — lange auf das Terminal drücken, um den Auswahlmodus zu aktivieren. Griffe ziehen, um den ausgewählten Bereich anzupassen, dann auf Auswahl kopieren tippen für den markierten Text, oder Alles kopieren für die gesamte Ausgabe. Außerhalb tippen zum Abbrechen. Unter iOS wählt ein langer Druck das Wort unter dem Finger aus und öffnet das Systemmenü mit Kopieren, Einsetzen und Alles auswählen; ziehe an einem Ende der Auswahl, um sie zu erweitern.
  • Einfügen — die Schaltfläche Einfügen in der Zusatztastenleiste verwenden (sichtbar, wenn die Tastatur geöffnet ist).

Vollbild-Anwendungen. Programme, die den ganzen Bildschirm übernehmen — tmux, vim, nano, less — haben keinen eigenen Verlauf, daher bleibt die Ansicht währenddessen auf dem laufenden Bildschirm und rutscht nicht in die darunterliegende Shell-Ausgabe.

Das Scrollen darin muss die Anwendung selbst übernehmen. In tmux set -g mouse on in ~/.tmux.conf eintragen: Eine Wischgeste scrollt dann den Verlauf des Bereichs unter dem Finger. Das gilt für jedes Programm, das Mauseingaben annimmt, etwa vim mit set mouse=a. Bei screen prüfen, ob in ~/.screenrc altscreen on steht — auf vielen Systemen ist es standardmäßig aus, und screen zeichnet dann über den normalen Verlauf.

// TERMINAL-EINSTELLUNGEN

Unter Einstellungen → Terminal kannst du das Terminal an deine Bedürfnisse anpassen:

  • Terminalfarben — das klassische dunkle Schema (Weiß auf Schwarz), ein helles Schema (Schwarz auf Weiß), das bei Tageslicht besser lesbar ist, oder dem App-Design folgen, das automatisch zusammen mit dem App-Design wechselt. Die Änderung gilt sofort, auch für bereits geöffnete Sitzungen.
  • Bildschirm eingeschaltet lassen — verhindert, dass sich der Bildschirm ausschaltet, solange ein Terminal geöffnet ist. Praktisch beim Beobachten von Logs oder lang laufenden Befehlen. Standardmäßig aus.
  • Standard-Schriftgröße — die Textgröße, mit der neue Terminalsitzungen starten; in jeder Sitzung kannst du weiterhin per Pinch-Geste zoomen.
  • Scrollback, umgekehrtes Scrollen und Befehlsvorschläge — steuern, wie viel Ausgabeverlauf behalten wird, die Scrollrichtung und die oben beschriebene Vorschlagsleiste.
  • Doppeltipp-Aktion — optional sendet ein Doppeltippen im Terminal Tab (Autovervollständigung) oder zweimal Tab (listet alle Kandidaten auf). Standardmäßig aus. Unter iOS wählt ein Doppeltippen, solange die Option aus ist, ein Wort aus.

// EXTRA-TASTENLEISTE

Wenn die Bildschirmtastatur geöffnet ist, erscheint darüber eine Reihe von Schnelltasten. Scrolle die Leiste seitwärts, um alle Tasten zu erreichen.

Modifikatortasten

Ctrl und Alt sind Klebetasten — tippe eine an, dann tippe eine Buchstabentaste, um die Kombination zu senden. Sie setzen sich nach dem nächsten Tastendruck automatisch zurück.

  • Ctrl+C — bricht den laufenden Prozess ab.
  • Ctrl+D — sendet EOF / schließt die Shell.
  • Ctrl+Z — hält den Prozess an.
  • Ctrl+L — löscht den Bildschirminhalt.

Wortmodus

Das Rechtschreibprüfungs-Symbol schaltet die Tastatur zwischen Terminalmodus und Wortmodus um. Im Terminalmodus (Standard) sind Autokorrektur und Wortvorschläge deaktiviert — ideal für Befehle und Dateipfade. Im Wortmodus verhält sich die Tastatur wie ein normales Textfeld, mit aktivierten Vorschlägen und Autokorrektur. Nützlich beim Tippen natürlicher Sprache über SSH, zum Beispiel mit Claude Code oder anderen interaktiven Werkzeugen.

Unter Android ist der Wortmodus auch die Voraussetzung für die Spracheingabe. Die Mikrofontaste der Tastatur benötigt ein echtes Textfeld zum Schreiben, daher liefert das Diktieren im Terminalmodus nichts — wechsle vor dem Diktieren in den Wortmodus.

Navigation und Bearbeitung

  • ESC — Escape-Taste.
  • Tab — Shell-Autovervollständigung.
  • ↑ ↓ ← → — Cursor-Pfeiltasten.
  • Home / End — zum Anfang oder Ende der Zeile springen.
  • PgUp / PgDn — Seite hoch / Seite runter.
  • Del — Vorwärtslöschen (Zeichen rechts vom Cursor).
  • Einfügen — Zwischenablage in das Terminal einfügen.

Funktionstasten

Scrolle die Leiste nach rechts, um die Tasten F1 bis F12 zu erreichen.

Layouts und eigene Leisten

Die Leiste gibt es in mehreren Layouts. Tippe auf die Taste ⇄ in der Leiste, um zu wechseln: Die Tasten machen der Liste der verfügbaren Leisten Platz, eine antippen, fertig — die Wahl wird gespeichert. Leisten lassen sich auch unter Einstellungen → Terminal → Zusatztastenleiste → Anpassen auswählen und verwalten.

  • Standard — die klassische einzelne, scrollende Reihe.
  • Natürlich — eine Reihe nach Nutzungshäufigkeit, mit / - | ~ und den Pfeilen in Tastaturreihenfolge (← ↑ ↓ →).
  • Natürlich ×2 — zwei Reihen über die volle Breite: ESC / - Home ↑ End PgUp über Tab Ctrl Alt ← ↓ → PgDn.
  • Natürlich ×3 — dasselbe plus eine dritte Reihe mit den Funktionstasten.
  • Minimal — nur ESC, Tab, Ctrl und die Pfeile, für schmale Bildschirme.

Für eine eigene Leiste dupliziere eine Vorlage (Menü ⋮ daneben oder langer Druck unter iOS) oder lege eine neue an. Der Editor zeigt die Leiste genau so, wie sie aussehen wird: Tippe eine Taste an, um sie auszuwählen, und verschiebe sie mit den Schaltflächen darunter nach links oder rechts oder in eine andere Reihe, ändere sie, füge danach eine Taste ein oder entferne sie. Jede Reihe kann entweder scrollen (Tasten behalten ihre natürliche Breite) oder die Bildschirmbreite füllen (auf einem Telefon bis zu etwa neun Tasten pro Reihe). Bis zu drei Reihen; die Tastengröße ist einstellbar.

Neben den üblichen Tasten kann eine eigene Leiste Texttasten enthalten: beliebiger Text, der so gesendet wird, wie er ist — ein einzelnes |, ein sudo -Präfix oder ein ganzer Befehl. \n steht für Eingabe, \t für Tab und \e für Escape, sodass ls -la\n zu einem Makro mit einem Tipp wird. Zwei weitere Aktionstasten: Anheften hält die Leiste bei geschlossener Tastatur sichtbar, Tastatur blendet die Tastatur ein oder aus.

Eigene Leisten sind im Einstellungs-Backup enthalten. Auf Android TV funktioniert alles mit der Fernbedienung: Tasten und Schaltflächen des Editors sind per D-Pad erreichbar.

// AGENT-FORWARDING

SSH-Agent-Forwarding ermöglicht es, die in SSHBorg gespeicherten Schlüssel für weitere Verbindungen zu verwenden, die vom Remote-Server aus hergestellt werden — zum Beispiel für git clone eines privaten Repos oder um zu einer zweiten Maschine zu springen.

Forwarding in SSHBorg aktivieren

Beim Hinzufügen oder Bearbeiten eines Hosts aktiviere den Schalter Agent-Forwarding. SSHBorg fungiert dann als SSH-Agent für diese Sitzung.

Server-seitige Konfiguration

Der Server muss Agent-Forwarding erlauben. Überprüfe /etc/ssh/sshd_config:

AllowAgentForwarding yes

Dies ist auf den meisten Systemen der Standard. Nach einer Änderung den SSH-Daemon neu starten:

sudo systemctl restart sshd

Client-Konfiguration pro Host (optional)

Wenn du dich auch von Laptop oder Desktop mit diesem Server verbindest, kannst du das Forwarding dauerhaft in deiner lokalen ~/.ssh/config konfigurieren:

Host myserver
    HostName 203.0.113.42
    User ubuntu
    ForwardAgent yes
// SICHERHEITSHINWEIS
Agent-Forwarding gibt dem Remote-Server vorübergehend Zugriff auf deinen SSH-Agent-Socket. Ein Root-Benutzer (oder ein kompromittierter Prozess) auf diesem Server könnte deine Schlüssel verwenden, um sich anderswo zu verbinden, solange deine Sitzung aktiv ist. Aktiviere Forwarding nur auf Servern, denen du vertraust.

// LEGACY-VERSCHLÜSSELUNG

Einige ältere Server — Netzwerkgeräte, Embedded-Systeme oder Systeme mit veralteten OpenSSH-Versionen — unterstützen nur Algorithmen, die moderne SSH-Clients standardmäßig nicht mehr anbieten.

Wenn Sie den Schalter Legacy-Verschlüsselung zulassen in den Host-Einstellungen aktivieren, fügt SSHBorg die folgenden Algorithmen zur Aushandlungsliste hinzu:

Hinzugefügte Algorithmen

  • Verschlüsselung: aes128-cbc, aes192-cbc, aes256-cbc, 3des-cbc
  • Schlüsselaustausch: diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1
  • Host-Schlüsseltyp: ssh-dss (DSA 1024-bit)

Der Server handelt immer den stärksten von beiden Seiten unterstützten Algorithmus aus. Die Legacy-Algorithmen werden nur verwendet, wenn der Server nichts Besseres anbieten kann.

// iOS
Unter iOS sind ssh-dss-Host-Schlüssel nicht verfügbar: Die SSH-Bibliothek, mit der die App gebaut ist, enthält kein DSA mehr. Ein Server, dessen einziger Host-Schlüssel DSA ist, ist daher vom iPhone oder iPad aus nicht erreichbar, auch nicht mit dieser Option.
// SICHERHEITSHINWEIS
Die Algorithmen in dieser Liste gelten als kryptografisch schwach. Aktivieren Sie diese Option nur für Server, die nicht aktualisiert werden können.

// VERBINDUNGSABBRÜCHE & TERMINAL-MULTIPLEXER

SSH ist eine aktive TCP-Verbindung zwischen deinem Smartphone und dem Server. Wenn die Verbindung unterbrochen wird — auch nur für eine Sekunde — gehen die Sitzung und alles, was darin läuft, verloren.

Warum Verbindungen auf Mobilgeräten abbrechen

Mobilfunknetze sind aus mehreren Gründen besonders anfällig für Verbindungsabbrüche:

  • IP-Adressänderungen — beim Reisen oder Wechseln zwischen Sendemasten kann dir dein Anbieter eine neue öffentliche IP zuweisen. Da TCP-Verbindungen an die IP-Adresse gebunden sind, wird die bestehende SSH-Sitzung sofort ungültig.
  • WLAN ↔ Mobilfunk-Wechsel — das Wechseln zwischen WLAN und Mobilfunkdaten (oder umgekehrt) ändert deine IP und unterbricht alle offenen TCP-Verbindungen.
  • Inaktivitäts-Timeouts — Mobilfunkanbieter und NAT-Router beenden oft inaktive Verbindungen nach wenigen Minuten. Lang laufende, aber stille Sitzungen (Log-Beobachtung, auf Eingabe warten) sind gefährdet.
  • Signalverlust — Tunnel, Tiefgaragen oder einfach ein schwaches Signal können kurz die Netzwerkverbindung unterbrechen, was ausreicht, um eine Sitzung zu beenden.
  • Android-Hintergrundgrenzen — solange eine Sitzung offen ist, hält SSHBorg einen Vordergrunddienst mit eigener Benachrichtigung am Leben, sodass Android die Sitzungen nicht mehr nach einer festen Zeit beendet: eine offen gelassene Sitzung arbeitet weiter, während du andere Apps benutzt. Beenden kann sie noch das Telefon, das Speicher zurückholt, oder das Energiesparen, das manche Hersteller auf Hintergrund-Apps anwenden — wenn deine Sitzungen von selbst stoppen, solltest du SSHBorg zuerst von der Akku-Optimierung ausnehmen. Durch erneutes Öffnen der App kannst du dich wieder verbinden.
  • iOS setzt Apps im Hintergrund aus — etwa dreißig Sekunden nachdem SSHBorg den Bildschirm verlassen hat, setzt iOS die App aus und ihre Verbindungen brechen ab. Kehrst du zurück, verbindet sich SSHBorg selbst neu (und fragt nur nach dem Passwort, wenn keines gespeichert ist) und markiert die Stelle in der Ausgabe: Es ist eine neue Shell, und was in der alten lief, ist weg. Unter iOS ist ein Multiplexer der einzige Weg, Arbeit weiterlaufen zu lassen, während du eine andere App nutzt.
// WICHTIG
Wenn du einen langen Befehl (einen Build, ein Backup, eine Datenbankmigration) direkt im SSH-Terminal ausführst und die Verbindung abbricht, wird der Befehl sofort beendet. Eventuell hinterlässt er einen inkonsistenten Zustand.

Die Lösung: tmux oder screen

Ein Terminal-Multiplexer führt eine persistente Sitzung auf dem Server aus, völlig unabhängig von deiner SSH-Verbindung. Wenn die Verbindung abbricht, läuft die Sitzung weiter. Nach der Wiederverbindung hängst du dich wieder ein und findest alles genau so vor, wie du es verlassen hast.

Dies ist die nützlichste Gewohnheit für alle, die Server vom Smartphone aus verwalten.

Schnellstart mit tmux

tmux ist auf den meisten modernen Linux-Distributionen verfügbar und die empfohlene Wahl.

# Neue benannte Sitzung starten
tmux new -s work

# Von der Sitzung trennen (laufen lassen)
Ctrl+B, dann D

# Laufende Sitzungen auflisten
tmux ls

# Sitzung wieder einbinden
tmux attach -t work

# Zuletzt verwendete Sitzung wieder einbinden
tmux attach

Schnellstart mit screen

screen ist älter, aber auf praktisch jedem Unix-System verfügbar, auch auf minimalen Server-Images, auf denen tmux möglicherweise nicht installiert ist.

# Neue benannte Sitzung starten
screen -S work

# Von der Sitzung trennen
Ctrl+A, dann D

# Laufende Sitzungen auflisten
screen -ls

# Sitzung wieder einbinden
screen -r work

Empfohlener Workflow auf Mobilgeräten

  1. Mit SSHBorg mit dem Server verbinden.
  2. Sofort eine tmux/screen-Sitzung starten oder wieder einbinden: tmux attach || tmux new -s main
  3. Befehle innerhalb des Multiplexers ausführen.
  4. Falls die Verbindung abbricht, einfach neu verbinden — die Sitzung ist noch da.
// TIPP
Du kannst tmux attach || tmux new -s main zu deiner ~/.bashrc oder ~/.zshrc auf dem Server hinzufügen, damit bei jeder Anmeldung über SSHBorg automatisch eine Multiplexer-Sitzung gestartet wird.

// JUMP-HOSTS

Ein Jump-Host (auch Bastion-Host genannt) ist ein Zwischenserver, durch den du einen Zielserver erreichen musst, der nicht direkt aus dem Internet zugänglich ist. SSHBorg unterstützt einfache und mehrstufige Jump-Ketten nativ.

Jump-Host in SSHBorg konfigurieren

  1. Den Bastion-Server als normalen Host in SSHBorg hinzufügen (z. B. bastion).
  2. Den Zielserver als weiteren Host hinzufügen.
  3. In den Einstellungen des Ziel-Hosts Jump-Host auf den erstellten Bastion-Host setzen.
  4. Agent-Forwarding auf dem Bastion-Eintrag aktivieren — damit kann dein Schlüssel durch den Bastion weitergeleitet werden, um sich auf dem Ziel zu authentifizieren.
// FUNKTIONSWEISE
SSHBorg stellt zuerst eine SSH-Verbindung zum Bastion her und öffnet dann einen weitergeleiteten TCP-Kanal durch diesen zum Zielserver. Der private Schlüssel verlässt niemals das Smartphone — der Bastion leitet nur den verschlüsselten Datenstrom weiter.

Multi-Hop-Ketten

Wenn du durch mehrere Zwischenserver springen musst (z. B. Internet → Bastion → DMZ → Ziel), erstelle einen Eintrag für jeden Hop und verkette sie:

  • bastion — kein Jump-Host, Agent-Forwarding aktiv
  • dmz — Jump-Host = bastion, Agent-Forwarding aktiv
  • target — Jump-Host = dmz
// WICHTIG
Agent-Forwarding muss auf jedem Zwischenhop aktiviert sein, nicht nur auf dem ersten. Ohne dies bricht die Authentifizierungskette ab und die Verbindung zum letzten Server schlägt mit einem „Permission denied"-Fehler fehl.

Äquivalente manuelle Konfiguration (zur Referenz)

Die entsprechende Konfiguration in einer Desktop-~/.ssh/config sieht so aus:

Host bastion
    HostName bastion.example.com
    User admin
    ForwardAgent yes

Host target
    HostName 10.0.1.50
    User ubuntu
    ProxyJump bastion
    ForwardAgent yes

Mit dieser Konfiguration springt ssh target auf dem Laptop transparent durch den Bastion.

Firewall-Anforderungen

  • Das Smartphone muss den Bastion über seinen SSH-Port (normalerweise 22) erreichen können.
  • Der Bastion muss das Ziel über seinen SSH-Port erreichen können.
  • Das Ziel muss nicht direkt vom Smartphone aus erreichbar sein.

// MEHRERE SITZUNGEN

SSHBorg ermöglicht es, mehrere SSH-Terminal- und SFTP-Dateimanager-Sitzungen gleichzeitig offen zu halten, auch zu verschiedenen Servern.

  • Tippe auf einen Host, um ein Terminal zu öffnen, oder wähle Dateien in seinem Menü, um den Dateimanager zu öffnen. Hat der Host bereits offene Sitzungen, öffnet dasselbe Menü weitere.
  • Mit den Tabs unter dem Terminal zwischen offenen Sitzungen wechseln; ein Host mit mehreren Sitzungen öffnet eine nummerierte Auswahl.
  • Sitzungen bleiben im Hintergrund aktiv, solange die Netzwerkverbindung besteht — unter iOS nur kurz, siehe Verbindungsabbrüche.
  • Die Host-Liste zeigt ein kleines Abzeichen neben jedem Host mit der Anzahl aktiver SSH- und SFTP-Sitzungen, sodass du auf einen Blick sehen kannst, was offen ist.
// TIPP
Lang laufende Befehle (Builds, Backups, Log-Beobachtung) laufen weiter, auch wenn du zu einer anderen Sitzung wechselst. Verwende einen Terminal-Multiplexer wie tmux oder screen auf der Server-Seite, wenn sie auch einen SSH-Verbindungsabbruch überleben sollen.

// APP-SICHERHEIT

App-Sperre

Wähle unter Einstellungen → Sicherheit → App-Sperre, wie die App geschützt wird: Keine (Standard), Nur biometrisch (Fingerabdruck oder Gesichtserkennung), Gerätesperre (die PIN, das Muster oder das Passwort des Geräts, zusätzlich zur Biometrie) oder ein In-App-PIN oder eine Passphrase. Wenn eine Sperre aktiv ist, erfordert SSHBorg eine Authentifizierung, bevor Host-, Anmelde- oder Sitzungsdaten angezeigt werden. Wird die Authentifizierung abgelehnt oder abgebrochen, bleibt die App auf ihrem eigenen Sperrbildschirm, mit einer Schaltfläche für einen neuen Versuch — sie schließt sich nicht, die offenen Sitzungen sind nach dem Entsperren also noch da.

Der In-App-PIN bzw. die Passphrase funktioniert auf jedem Gerät, auch ohne biometrische Hardware oder eine System-Bildschirmsperre — das macht ihn zur richtigen Wahl auf einem Android TV. Zum Ändern oder Entfernen wird zuerst der aktuelle abgefragt. Bei Verlust gibt es keine Wiederherstellung: Du müsstest die App-Daten löschen oder die App neu installieren — halte also ein Backup deiner Hosts bereit.

Du kannst ein Inaktivitäts-Timeout festlegen — nach dieser Zeit im Hintergrund sperrt sich die App automatisch.

// iOS
Die Sperre bietet Keine, Nur biometrisch (Face ID oder Touch ID) und Gerätesperre (Gerätecode oder Biometrie). Einen In-App-PIN oder eine Passphrase gibt es nicht.

Screenshot-Schutz

Standardmäßig blockiert SSHBorg Screenshots und Bildschirmaufnahmen, um zu verhindern, dass sensible Terminal-Inhalte über den Zuletzt-Geöffnet-Bildschirm oder Aufnahme-Tools durchsickern.

Wenn du einen Screenshot machen musst (z. B. um eine Terminal-Ausgabe zu teilen), kannst du den Screenshot-Schutz vorübergehend unter Einstellungen → Sicherheit → Screenshots erlauben deaktivieren.

// iOS
iOS erlaubt einer App nicht, Screenshots oder Bildschirmaufnahmen zu blockieren, daher gibt es diese Einstellung nicht. Mit aktiver App-Sperre verdeckt SSHBorg seine Inhalte, sobald die App den Bildschirm verlässt, sodass Hosts und Terminals nicht im App-Umschalter erscheinen.

Anmeldedatenspeicherung

Ist Sensible Daten verschlüsseln eingeschaltet (siehe SSH-Schlüssel), werden Passwörter und private Schlüssel verschlüsselt gespeichert, mit einem Schlüssel im Android Keystore — ab Android 10 hardware-gestützt — bzw. unter iOS im Schlüsselbund, beschränkt auf dieses Gerät. Anmeldedaten werden niemals auf externen Speicher geschrieben oder übertragen.

// HINWEIS ZUM BACKUP
Da der Verschlüsselungsschlüssel die sichere Hardware des Geräts nie verlässt, lassen sich Schlüssel nicht aus einem Cloud- oder Geräte-Backup wiederherstellen und werden nicht automatisch auf ein neues Gerät übertragen. Stelle vor einem Gerätewechsel sicher, dass du einen auf dem neuen Gerät generierten Schlüssel auf allen deinen Servern autorisierst.

Die sicherste Einrichtung

Jeder Baustein oben hilft schon allein. Zusammen sind sie das Sicherste, was die App bietet, und es kostet zwei Minuten:

  1. Schalte Einstellungen → Sicherheit → Sensible Daten verschlüsseln ein.
  2. Setze die App-Sperre auf Nur biometrisch — oder auf PIN oder Passphrase, wenn du der Biometrie des Telefons nicht vertrauen willst.
  3. Setze die Zeitsperre auf Sofort, höchstens auf 30 Sekunden.
  4. Erzeuge einen neuen Schlüssel in der App, mit einem Namen, der das Gerät benennt.
  5. Autorisiere diesen Schlüssel auf deinen Servern und nutze ihn statt eines Passworts.

Ein auf dem Telefon erzeugter Schlüssel hat nie woanders existiert: es gibt keine ältere Kopie, die schon entwichen sein könnte, und nichts, was auf einem anderen Rechner aufzuräumen wäre. Ein Schlüssel pro Gerät heißt auch: ein verlorenes Telefon kostet eine Zeile in authorized_keys — entfernen, und die anderen Geräte laufen weiter. Darum lohnt sich ein guter Name.

Was nichts davon kann: ist das Telefon selbst kompromittiert, ist dieser Schlüssel es mit ihm, was ihn auf der Platte auch schützt. Auch eine Passphrase würde ihn nicht retten — wer den Speicher der App lesen kann, liest auch mit, was du tippst. Darum verlangt SSHBorg die Passphrase eines Schlüssels einmal, beim Import, und speichert den Schlüssel entsperrt, statt die Passphrase zu behalten (siehe SSH-Schlüssel).

// KONFIGURATION SICHERN

SSHBorg kann Host-Konfigurationen und App-Einstellungen als JSON-Datei exportieren und importieren. Das ermöglicht es, die Serverliste auf ein anderes Gerät zu übertragen oder ein portables Backup der eigenen Einrichtung aufzubewahren.

// WICHTIG
Das Backup enthält Host-Konfigurationen und App-Einstellungen (Terminal, Darstellung, Verhalten). Passwörter und SSH-Schlüssel werden niemals exportiert — das Schlüsselmaterial muss auf einem neuen Gerät neu eingerichtet werden. Das Backup speichert jedoch den Namen des von jedem Host verwendeten Schlüssels: Wenn du vor dem Import einen Schlüssel mit demselben Namen neu erstellst, werden seine Hosts automatisch wieder damit verknüpft.

Exportieren

Gehe zu Einstellungen → Backup → Backup exportieren. Wähle über den Systemdatei-Auswähler aus, wo die Datei gespeichert werden soll. Die Datei heißt standardmäßig sshborg_backup.json (unter iOS sshborg-backup-Datum.json).

Importieren

Gehe zu Einstellungen → Backup → Backup importieren. Wähle die zuvor exportierte (oder manuell erstellte) .json-Datei aus. SSHBorg führt sie mit der vorhandenen Host-Liste zusammen:

  • Hosts, deren Name einem vorhandenen Eintrag entspricht, werden aktualisiert.
  • Hosts mit einem neuen Namen werden hinzugefügt.
  • Hosts, die nicht in der Datei vorhanden sind, bleiben unverändert.
  • Ein aktualisierter Host behält gespeichertes Passwort, Schlüssel und akzeptierten Hostschlüssel — die Sicherung enthält sie nie.
  • Ein Host ohne Schlüssel wird mit einem Schlüssel verknüpft, dessen Name dem exportierten keyLabel entspricht, sofern vorhanden; andernfalls wird das Feld ignoriert.
  • Ein aktualisierter Host behält die Nutzungsdaten, die dieses Gerät bereits hat — letzte Verbindung, Zähler und manuelle Position; die Datei ergänzt nur, was fehlt.

JSON-Format

Die Exportdatei ist ein einfaches JSON-Objekt. Du kannst sie auch manuell erstellen, um eine Serverliste aus einer anderen Quelle massenweise zu importieren.

{
  "version": 7,
  "exported_at": "2026-05-14T10:00:00Z",
  "groups": [
    { "name": "Produktion", "color": -1754827, "position": 0 }
  ],
  "hosts": [
    {
      "label":           "Mein VPS",
      "hostname":        "203.0.113.42",
      "port":            22,
      "username":        "ubuntu",
      "agentForwarding": false,
      "jumpMode":        "simple",
      "jumpHosts":       null,
      "jumpHostIdList":  null,
      "portForwardings": null,
      "sftpStartMode":   "last",
      "sftpStartDir":    null,
      "sftpShowHidden":  false,
      "allowLegacyCiphers": false,
      "position":        0,
      "lastConnected":   1757404800000,
      "connectCount":    12,
      "keyLabel":         "Mein VPS-Schlüssel",
      "group":           "Produktion"
    }
  ],
  "settings": {
    "night_mode":            0,
    "scrollback_lines":      2000,
    "terminal_font_size":    13,
    "terminal_color_scheme": 0,
    "double_tap_action":     0
  }
}

Das optionale Objekt settings enthält deine App-Einstellungen und wird beim Export automatisch geschrieben; beim manuellen Erstellen der Datei kannst du es weglassen.

Feldreferenz

  • label — in SSHBorg angezeigter Name. Wird beim Import als eindeutiger Schlüssel für die Zusammenführung verwendet. Pflichtfeld.
  • hostname — Serveradresse oder IP (IPv4 oder IPv6). Pflichtfeld.
  • port — SSH-Port. Standard: 22.
  • username — Anmeldebenutzer. Pflichtfeld.
  • agentForwarding — true, um SSH-Agent-Forwarding zu aktivieren. Standard: false.
  • jumpMode — "simple" (verwendet den jumpHosts-Text) oder "host_list" (verwendet interne SSHBorg-Host-IDs). Verwende "simple" beim manuellen Erstellen.
  • jumpHosts — kommagetrennte Jump-Hosts im Format [benutzer@]host[:port]. Nur verwendet, wenn jumpMode "simple" ist.
  • portForwardings — zeilengetrennte lokale Port-Weiterleitungsregeln in SSH--L-Syntax, z.B. "8080:localhost:8080".
  • sftpStartMode — SFTP-Startverzeichnis: "last" (letztes besuchtes merken), "fixed" (immer sftpStartDir verwenden), "home" (Server-Home). Standard: "last".
  • sftpStartDir — Pfad, der verwendet wird, wenn sftpStartMode "fixed" ist.
  • sftpShowHidden — true, um versteckte Dateien (Dotfiles, Namen mit "." am Anfang) im SFTP-Browser dieses Hosts anzuzeigen. Standard false.
  • allowLegacyCiphers — true, um die oben beschriebenen Legacy-Algorithmen zu aktivieren. Standard: false.
  • keyLabel — Name des von diesem Host verwendeten SSH-Schlüssels. Beim Import wird der Host mit einem vorhandenen Schlüssel dieses Namens verknüpft; andernfalls wird das Feld ignoriert. Der Schlüssel selbst ist nie im Backup enthalten.
  • group — Name der Gruppe, zu der der Host gehört. Gruppen stehen im Array groups auf oberster Ebene, mit name und color (ARGB als vorzeichenbehaftete 32-Bit-Ganzzahl). Verweist ein Host auf eine Gruppe, die im Array fehlt, wird sie automatisch mit einer Standardfarbe angelegt — beim manuellen Erstellen der Datei kannst du das Array also weglassen.
  • color — optionale Farbe des einzelnen Hosts (ARGB als vorzeichenbehaftete 32-Bit-Ganzzahl). Sie überschreibt die Gruppenfarbe.
  • position — Platz des Hosts in der manuellen Reihenfolge, gezählt innerhalb seines Abschnitts (der Block ohne Gruppe oder eine Gruppe). Ohne Angabe wird der Host hinten angehängt. Auch Gruppen haben im Array groups ihre eigene position.
  • lastConnected — Zeitpunkt der letzten Verbindung, in Millisekunden seit der Unix-Epoche. Speist die Reihenfolge „Zuletzt verwendet".
  • connectCount — wie viele Terminal-Sitzungen zu diesem Host geöffnet wurden. Speist die Reihenfolge „Am meisten verwendet".
// OPTIONALE FELDER
Alle Felder außer label, hostname und username sind optional. Weggelassene Felder erhalten ihre Standardwerte.

// ANDROID TV

SSHBorg läuft auf Android TV und Google TV. Es funktioniert mit dem D-Pad der Fernbedienung, aber da es eine textlastige App ist, macht eine physische Tastatur einen großen Unterschied.

Navigation mit der Fernbedienung

  • D-Pad-Pfeile — bewegen den Fokus zwischen Zeilen und Bedienelementen.
  • OK (Mitte) — die primäre Aktion: mit einem Host verbinden, einen Ordner öffnen, eine Datei herunterladen, eine Gruppe aufklappen.
  • Zurück — eine Ebene höher oder Bildschirm verlassen.

Das Menü einer Zeile öffnen

Zum Umbenennen, Löschen, Bearbeiten, Duplizieren oder Herunterladen einer Zeile das Menü öffnen: die Menü-(Optionen-)Taste der Fernbedienung auf der fokussierten Zeile drücken oder OK gedrückt halten (langer Druck). OK allein führt die primäre Aktion aus, nicht das Menü.

Tippen: eine physische Tastatur verwenden

Eine physische Tastatur — USB oder Bluetooth (Android TV unterstützt beide) wird dringend empfohlen und ist für das Terminal praktisch erforderlich. Damit funktionieren Textfelder und die Shell normal.

Ohne eine solche bewältigt die Bildschirmtastatur trotzdem kurze Eingaben: ein Feld fokussieren, OK drücken, um es zu öffnen, tippen und OK / Los auf der Tastatur drücken — bei der Passwortabfrage verbindet dies direkt. Shell-Befehle mit der Bildschirmtastatur einzugeben ist jedoch unpraktisch.

Die App auf einem TV sperren

Ein TV hat meist keinen Fingerabdrucksensor und keine Bildschirmsperre — schütze die App daher mit der integrierten PIN- oder Passphrase-Sperre (Einstellungen → Sicherheit); sie funktioniert vollständig mit der Fernbedienung oder einer Tastatur. Siehe App-Sicherheit.

// OPEN-SOURCE-LIZENZEN

SSHBorg ist freie Software unter der GNU General Public License v3. Der Quelltext liegt auf GitHub, für die Android- wie für die iOS-App. Verwendet werden die folgenden Bibliotheken, jede unter ihrer eigenen Lizenz:

  • mwiede/JSch — das SSH-Protokoll unter Android — Lizenz im BSD-Stil
  • Bouncy Castle — die Kryptografie unter Android — Lizenz im MIT-Stil
  • sora-editor — das Textbearbeitungs-Widget zum Ändern von Dateien auf dem Server, unter Android — GNU LGPL v2.1
  • libssh2 — das SSH-Protokoll unter iOS — BSD-Lizenz

Keine davon verbindet sich von sich aus mit irgendetwas: SSHBorg kontaktiert nur die Server, die du angibst, und sshborg.com, wenn du einen Link antippst. Es gibt keine Analyse-Bibliotheken, keine Werbe-Bibliotheken und keinerlei Tracker.

⚙⚙⚙