Praxisanleitung — Schritt für Schritt, um das Beste aus SSHBorg auf Android und iOS herauszuholen. Wo sich die iOS-App unterscheidet, sagt es ein mit iOS markierter Hinweis.
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).
ubuntu, root, deploy).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.
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Wenn die Serverliste wächst, kannst du Hosts in einklappbare, farblich markierte Gruppen organisieren — zum Beispiel Produktion, Homelab, Kunden.
Unter iOS lässt sich eine Gruppe auch für sich allein anlegen, über die Schaltfläche + → Neue 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.
Wähle unter Einstellungen → Reihenfolge der Hostliste, wie die Liste angeordnet wird:
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.
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.
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.
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.
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.
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:
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.
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.
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.
Schlüsselbasierte Authentifizierung ist sicherer als Passwörter und erfordert nach der Einrichtung kein Eintippen mehr.
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:
Gib dem Schlüssel einen aussagekräftigen Namen (z. B. mein-vps oder arbeits-server), damit du ihn später wiedererkennen kannst.
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.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA...deinkopierterSchlüssel..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
PubkeyAuthentication yes in /etc/ssh/sshd_config hat. Dies ist auf den meisten Distributionen der Standard, aber einige gehärtete Images deaktivieren es.
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.
.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.
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.
Wenn eine Terminal-Sitzung geöffnet wird, liest SSHBorg die Shell-Historiendatei vom Remote-Server. Es werden folgende Pfade der Reihe nach geprüft:
~/.bash_history — Standard für Bash-Shells~/.zsh_history — Standard für Zsh (wird auch als $HISTFILE geprüft, wenn gesetzt)~/.local/share/fish/fish_history — für Fish-Shell-BenutzerDie 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.
Es werden keine Vorschläge angezeigt
~/.bashrc hinzu:
HISTFILE=~/.bash_history
HISTSIZE=10000
HISTFILESIZE=20000
~/.zshrc hinzu:
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt APPEND_HISTORY SHARE_HISTORY
Vorschläge gehören dem falschen Benutzer
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.
root anmeldet (sofern dein Server dies erlaubt).
Das Terminal reagiert neben der Tastatureingabe auf einige Touch-Gesten:
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.
Unter Einstellungen → Terminal kannst du das Terminal an deine Bedürfnisse anpassen:
Wenn die Bildschirmtastatur geöffnet ist, erscheint darüber eine Reihe von Schnelltasten. Scrolle die Leiste seitwärts, um alle Tasten zu erreichen.
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.
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.
Scrolle die Leiste nach rechts, um die Tasten F1 bis F12 zu erreichen.
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.
/ - | ~ und den Pfeilen in Tastaturreihenfolge (← ↑ ↓ →).ESC / - Home ↑ End PgUp über Tab Ctrl Alt ← ↓ → PgDn.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.
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.
Beim Hinzufügen oder Bearbeiten eines Hosts aktiviere den Schalter Agent-Forwarding. SSHBorg fungiert dann als SSH-Agent für diese Sitzung.
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
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
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:
aes128-cbc, aes192-cbc, aes256-cbc, 3des-cbcdiffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1ssh-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.
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.
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.
Mobilfunknetze sind aus mehreren Gründen besonders anfällig für Verbindungsabbrüche:
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.
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
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
tmux attach || tmux new -s maintmux 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.
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.
Wenn du durch mehrere Zwischenserver springen musst (z. B. Internet → Bastion → DMZ → Ziel), erstelle einen Eintrag für jeden Hop und verkette sie:
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.
SSHBorg ermöglicht es, mehrere SSH-Terminal- und SFTP-Dateimanager-Sitzungen gleichzeitig offen zu halten, auch zu verschiedenen Servern.
tmux oder screen auf der Server-Seite, wenn sie auch einen SSH-Verbindungsabbruch überleben sollen.
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.
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.
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.
Jeder Baustein oben hilft schon allein. Zusammen sind sie das Sicherste, was die App bietet, und es kostet zwei Minuten:
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).
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.
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).
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:
keyLabel entspricht, sofern vorhanden; andernfalls wird das Feld ignoriert.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.
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".label, hostname und username sind optional. Weggelassene Felder erhalten ihre Standardwerte.
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.
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ü.
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.
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.
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:
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.