Fehlerbehebung

Diese Seite behandelt häufige Probleme von Mobile SSH und die ersten Prüfungen, bevor du serverseitige SSH-Einstellungen änderst.

Verbindung nicht möglich

Prüfe:

Wenn derselbe Host von einem anderen Gerät funktioniert, vergleiche genau Host, Port, Benutzername, Schlüssel und Netzwerkpfad.

Die Serveridentität erfordert Aufmerksamkeit

Beide Plattformen prüfen SSH-Identitäten vor Zugangsdaten. Unter iOS erfordert ein unbekannter Schlüssel Fingerabdruckbestätigung und Vertrauen und neu verbinden. Unter Android ist Einstellungen → Allgemein → Sicherheit → Neue SSH-Identitäten automatisch akzeptieren standardmäßig an: erster Rohschlüssel gespeichert, spätere müssen passen. Schalte dies aus, um neue Fingerabdrücke vor Verbindung zu prüfen.

Vergleiche neue oder geänderte SHA-256-Fingerabdrücke mit dem Administrator über einen vertrauenswürdigen Kanal. Ein Wechsel kann einen ersetzten oder unerwarteten Server bedeuten; entferne die alte Identität erst nach Klärung. Prüfe Identitäten in Einstellungen. Alternative Adressen und Sprungserver umgehen die Prüfung nicht.

Android unterstützt auch Host-Zertifizierungsstellen mit festgelegtem Geltungsbereich und Widerrufe. Unbekannte CAs, abgelaufene oder ungültige Zertifikate und widerrufene Schlüssel bleiben trotz automatischer Annahme bei erster Nutzung blockiert. Unter iOS akzeptiert Einstellungen → Serveridentitäten → Widerrufene Schlüssel importieren OpenSSH-Einträge mit @revoked für Ed25519/ECDSA mit festgelegtem Geltungsbereich. Eingefügter Text mit nicht unterstützten Einträgen wird vollständig abgelehnt; CA-Einträge, Zertifikate, RSA-Schlüssel und gehashte Hostnamen werden nicht unterstützt. Widerrufe setzen früheres Vertrauen bei neuen Verbindungen und Neuverbindungen außer Kraft, beenden aber keine bestehenden Verbindungen. Identitäten und Widerrufe sind von Backups ausgeschlossen. Prüfe unter iOS einen unbekannten Server zuerst in der Hauptapp, bevor du über die Teilen-Erweiterung hochlädst.

Verbindung über einen Sprungserver scheitert

Prüfe Adresse und Zugangsdaten jeder Bastion sowie Erreichbarkeit der ersten vom Telefon. Folgende Hosts müssen vom vorherigen erreichbar sein. Bastionen brauchen TCP-Freigabe samt permitopen-Beschränkungen. Die SSH-Route darf keine Schleife und höchstens acht aufgelöste Sprünge haben.

Eine gelöschte oder nicht auflösbare Bastion führt nicht zu Direktverbindung. Korrigiere die Route und verbinde erneut. Android-Status und Anmeldeprotokoll unterscheiden den fehlgeschlagenen Sprung vom Zielserver.

Authentifizierung fehlgeschlagen

Prüfe:

Gib bei verschlüsselten privaten Schlüsseln die Passphrase im Passwort-/Passphrasenfeld ein.

Unter Android benötigt entferntes ssh/git SSH-Agent weiterleiten im Profil und serverseitige Freigabe. Nur nutzbare gespeicherte Schlüssel werden angeboten. Eine Zulassen/Ablehnen- oder Hardwarekey-Abfrage kann Terminal, Dateien und Tunnel bis zu 30 Sekunden pausieren; antworte in App oder Benachrichtigung.

Import des privaten Schlüssels fehlgeschlagen

Der Import des privaten Schlüssels nutzt die Dateiauswahl des Systems. Wenn der Import fehlschlägt:

Sicherheitsschlüssel antwortet unter Android nicht

Android unterstützt CTAP2/FIDO2 ed25519-sk und ecdsa-sk über USB/NFC. Nutze den physischen Schlüssel, der die importierte Datei erzeugt hat. USB braucht Hostmodus und Erlaubnis; NFC muss aktiv sein und der Schlüssel bis zum Abschluss am Telefon bleiben. Gib bei Bedarf die PIN ein und berühre den Schlüssel.

Der Server benötigt OpenSSH ab 8.2 mit erlaubtem sk-*-Algorithmus. Reine U2F-Schlüssel und Erkennung residenter Zugangsdaten fehlen. Die Anmeldefrist kann beim Suchen verstreichen: halte den Schlüssel bereit. Öffne Hintergrundanfragen über Benachrichtigung oder App. iOS unterstützt keine Hardware-Sicherheitsschlüssel zur Anmeldung.

Tastatureingabe verzögert sich oder ändert sich

Android sendet Eingaben direkt ohne Autokorrektur oder Vorhersage. Unter iOS ist Diktat und Vorschläge für Sprache und Zeilenkorrekturen standardmäßig an. Ändert es unerwartet Shell-Eingaben, schalte es aus, prüfe Tastaturvorschläge und öffne ein neues Pane.

Nutze Zusatztasten für ESC, TAB, CTRL, Pfeile, HOME, END, PGUP, PGDN. Ein hängendes Netz verzögert Eingaben. Android zeigt keine Antwort oder nicht gesendet; beim Wiederverbinden getippte Zeichen werden verworfen statt in einer neuen Shell wiederholt. Warte, prüfe den Prompt und wiederhole nur Nötiges.

tmux-Scrollen ist nicht wie erwartet

Mobile SSH ändert das Scrollverhalten je nach Terminalzustand. In tmux oder anderen Programmen mit alternativem Bildschirm können Scroll-Gesten tmux-Kopiermodus-Befehle senden, anstatt den lokalen Verlauf zu scrollen. Wenn der tmux-Maus-Modus aktiviert ist, sendet die App Mausrad-Escape-Sequenzen.

Wenn das Scrollen sich falsch anfühlt:

Unter Android verlässt Scrollen bis unten den appgesteuerten tmux-Kopiermodus, wenn dessen Standardanzeige sichtbar ist. Eigene/geteilte Layouts ohne Anzeige benötigen eventuell manuelles Verlassen. Prüfe beim Sitzungswechsel Server, tmux-Socket und Sitzungsname im Manager.

Sitzung nach Bildschirmsperre abgebrochen

Auf Android nutzt Mobile SSH Keepalives, einen Vordergrunddienst, Wake Lock, Wi-Fi-Lock und Wiederverbindungsversuche, um Verbindungsabbrüche zu reduzieren. Die Akku-Richtlinien von Android können Hintergrundarbeit dennoch stoppen.

Prüfe:

iOS unterbricht Hintergrundapps; SSH bleibt nach Appwechsel oder Sperren nicht unbegrenzt offen. Ein kurzes Zeitfenster deckt schnelle Wechsel. Wähle tmux, Herdr oder Zellij unter Beim Verbinden anhängen oder nutze Eternal Terminal, um Arbeit wiederaufzunehmen. Der Multiplexer muss am Server laufen; Eternal Terminal erlaubt keine Sprungserverroute.

Dateiübertragung kann Telefondateien nicht durchsuchen

Mobile SSH fordert auf Android keine Speicherberechtigung an. Stattdessen zeigt der lokale Bereich genau einen Ordner, den du mit der Ordnerauswahl des Systems freigibst — ist er leer, wähle mit Pick folder einen aus. Die Freigabe bleibt bestehen, das ist also ein einmaliger Schritt.

Wenn entfernte Dateien laden, lokale aber nicht, ist die SSH-Verbindung in Ordnung und du hast schlicht noch keinen Ordner freigegeben.

Unter iOS beginnt das lokale Pane im App-Documents-Ordner. Mein Telefon → Lokalen Ordner wählen merkt einen anderen Dateien-Ordner. Fehlen Anbieter oder Rechte, wähle erneut oder wechsle zum App-Ordner. Seine Downloads stehen unter Auf meinem iPhone, externe bleiben beim Anbieter. Ordnerrechte werden nicht gesichert.

Hochladen oder Herunterladen fehlgeschlagen

Prüfe:

Portweiterleitung fehlgeschlagen

Prüfe:

VPN oder Proxy transportiert unter Android keine Daten

SSH VPN, Shadowsocks und OpenVPN können erfassten Verkehr beim Wiederverbinden blockieren, statt direkt zu senden. Stoppen beendet den Schutz. VPN umgeht keine Internetbeschränkung des Serveranbieters oder Administrators.

Backup hat nicht alles wiederhergestellt

Prüfe Vorschau und Zusammenführen oder Ersetzen. In alten/teilweisen Backups fehlende Bereiche bleiben unverändert. Vollbackups enthalten unterstützte Einstellungen, unter Android auch VPN/Proxys. Nicht alle Plattformdaten sind nach iOS übertragbar; alte Versionen können neue Vollformate ablehnen.

Host-Identitäten, Systemrechte und Ordnerzugriffe bleiben lokal. Prüfe Hosts und gib Ordner/VPN auf dem neuen Gerät frei. Hardware-Zugangsdaten benötigen weiterhin den physischen Schlüssel. Import startet kein VPN; prüfe die Profile vorher.

Entfernter Desktop nicht verfügbar oder nicht skalierbar

Öffne den Viewer aus einer verbundenen SSH-Sitzung und prüfe lokale TCP-Weiterleitung. Unter Linux installiere die im Fehler genannten Desktop-/VNC-Pakete. Android spiegelt keine Wayland-Konsole; nutze einen unterstützten virtuellen Desktop.

Aktiviere unter macOS die Bildschirmfreigabe in den Mac-Einstellungen. Android unterstützt die Anmeldung mit einem Mac-Konto; iOS erfordert den klassischen VNC-Passwortzugriff in der Bildschirmfreigabe und verwendet deren Passwort anstelle eines Mac-Kontopassworts. Die Ansicht zeigt den vorhandenen Mac-Bildschirm. Seine Auflösung muss gegebenenfalls am Mac geändert werden. Ein virtueller Desktop lässt sich nur mit Serverunterstützung im laufenden Betrieb skalieren; der Neustart eines von der App erstellten Desktops erfordert Bestätigung und schließt seine Programme. Beim Verlassen der Ansicht läuft der entfernte Desktop weiter.

Debug-Protokolle

Die beiden Plattformen zeichnen Unterschiedliches auf, wähle also die, die zu deinem Problem passt.

Android — Terminal und Darstellung. Aktiviere Settings → Debugging → Show Debug and Logs buttons und nutze dann die Schaltfläche Debug, die auf dem Startbildschirm erscheint. Sie zeichnet Terminalereignisse, SSH-Datengrößen, Toucheingaben, Größenänderungsverhalten und den Tunnel-Lebenszyklus auf. Vor dem Start einer Aufzeichnung warnt sie dich, dass dabei jede Taste erfasst wird, die du drückst, Passwörter eingeschlossen. Beim Stoppen schreibt sie ein Archiv in deinen Downloads-Ordner.

iOS — Verbindungen und Reconnects. Schalte Settings → Diagnostics → Record debug log ein. Es zeichnet jede gewählte Adresse und den Grund ihres Scheiterns auf, Wiederverbindungsversuche und deren Backoff, abgebrochene Verbindungen, „peer stopped answering keepalives“, Netzwechsel sowie tmux-Befehle mit ihren Fehlern. Die Einstellungen zeigen einen laufenden Zeilenzähler, damit du die Aufzeichnung bestätigen kannst, und Export Debug Log teilt sie als Textdatei. Das Log liegt im Arbeitsspeicher und umfasst nur die aktuelle App-Sitzung.

Prüfe jedes Debug-Log und jedes Archiv, bevor du es teilst. Sie sind für die Fehlerbehebung gedacht und können Servernamen, Adressen, Zeitangaben oder andere Umgebungsdetails offenlegen — und auf Android alles, was du getippt hast.