SFTP-Datei vom Mac aus bearbeiten, ohne sie erneut hochzuladen

Kurz gesagt: Sie müssen eine Datei nicht vom Server laden, bearbeiten und von Hand wieder hochladen. Verbinden Sie sich in Folia Files einmal per SFTP mit dem Server und doppelklicken Sie dann im Ordner des Servers auf die Datei. Sie öffnet sich in Ihrer gewohnten App aus einer Kopie auf Ihrem Mac, und bei jedem Sichern schickt Folia Files sie an den Server zurück, nachdem es geprüft hat, dass dort niemand sie inzwischen geändert hat. Die Übertragungen verfolgen Sie unter Vorgänge › Entfernte Dateien.
Hier lesen Sie, wie Sie das einrichten, was Sie beim Bearbeiten sehen und was passiert, wenn der Server sich weigert.
Warum das Bearbeiten einer Serverdatei mühsam ist
Mit einem SFTP-Client sind es immer drei Schritte: config.php oder index.html herunterladen, bearbeiten, wieder hochladen. Vergessen Sie den letzten Schritt, läuft auf dem Server weiter die alte Version. Arbeiten zwei Macs an derselben Datei, überschreiben Sie unbemerkt die Änderung eines anderen.
Den Server als Laufwerk einzubinden wirkt einfacher, weil Ihr Editor die Datei direkt öffnen kann. Doch Apps sichern schlecht direkt auf ein Netzlaufwerk: Viele schreiben eine temporäre Datei und tauschen sie gegen das Original aus, hinterlassen Sperrdateien oder warten bei einem langsamen Server auf jede Antwort. Am Ende verliert die Datei womöglich ihren Eigentümer und ihre Rechte, oder der Editor hängt beim Sichern.
Ideal ist beides zusammen: eine lokale Datei, mit der Ihr Editor gut zurechtkommt, und eine Kopie auf dem Server, die jedem Sichern folgt.
Schritt 1: Per SFTP mit dem Server verbinden
In der Website-Edition von Folia Files laufen SFTP-Verbindungen über rclone, ein kostenloses Open-Source-Werkzeug. Installieren Sie es einmal im Terminal mit brew install rclone (fehlt es, bietet das Verbindungsfenster eine Taste dafür an). Danach:
- Wählen Sie Werkzeuge › Verbindungen (Server und Clouds) … (⌘K), klicken Sie auf Neue Verbindung und wählen Sie SFTP / SCP (SSH).
- Geben Sie die Adresse des Servers, Ihren Benutzernamen und ein Passwort oder Ihren SSH-Schlüssel ein (lassen Sie das Passwort leer, um den Schlüssel oder den SSH-Agenten zu verwenden).
- Tragen Sie unter Startordner den Ordner ein, in dem Sie meist arbeiten, zum Beispiel
/var/www. Folia Files bindet den ganzen Server ab seinem Stammverzeichnis ein: Sie können überallhin nach oben wechseln, der Startordner ist nur der, der sich öffnet. - Klicken Sie auf Verbindung testen und dann auf Verbinden. Der Server erscheint im Abschnitt Server der Seitenleiste.

Lassen Sie in den Optionen der Verbindung Schreibgeschützt ausgeschaltet, wenn Sie Dateien bearbeiten möchten: Bei einer schreibgeschützten Verbindung öffnen sich die Dateien unverändert, ohne etwas zurückzusenden. Mehr zu rclone, SSH-Schlüsseln und S3 lesen Sie unter SFTP und S3 auf dem Mac ohne macFUSE verbinden.
Schritt 2: Datei öffnen und bearbeiten
Durchsuchen Sie den Server in einem Bereich wie jeden anderen Ordner. Dann:
- Doppelklicken Sie auf die Datei, um sie in ihrer Standard-App zu öffnen, oder
- klicken Sie mit der rechten Maustaste darauf und wählen Sie Öffnen mit, um eine andere App zu nehmen: TextEdit, BBEdit, Visual Studio Code, Nova oder den Editor Ihrer Wahl.
Folia Files lädt eine Arbeitskopie auf Ihren Mac und öffnet sie. Ein Banner meldet „„index.html“ wird aus einer Kopie auf diesem Mac geöffnet“ und erklärt, dass jede gesicherte Änderung an Ihren Server zurückgesendet wird und unter „Vorgänge“ verfolgbar ist. Dauert das Laden länger als eine Sekunde, sehen Sie zuerst „„index.html“ wird geöffnet …“ mit dem Namen des Servers.
Bearbeiten und sichern Sie nun wie gewohnt mit ⌘S. Etwa eine Sekunde nachdem Ihre App fertig geschrieben hat, sendet Folia Files die Datei. Auf dem Server gesichert zeigt es erst an, wenn der Server den neuen Inhalt wirklich hat: Bei SFTP fragt es direkt beim Server nach, statt sich auf das eingebundene Laufwerk zu verlassen.
Ein paar Details, die auf einem Webserver zählen:
- Die Rechte bleiben gleich. Die Datei wird an Ort und Stelle überschrieben und behält auf dem Server ihren Eigentümer und ihre Rechte, statt die Vorgaben einer neuen Datei zu bekommen.
- Eine Kopie pro Datei. Öffnen Sie dieselbe Datei erneut, öffnet sich dieselbe Arbeitskopie, samt allem, was noch nicht gesendet ist.
- Nur Dokumente. Dateien bis 200 MB laufen über eine Kopie. Videos, Archive, Disk-Images und Apps öffnen sich direkt vom Server.
Dieses Verhalten ist standardmäßig eingeschaltet. Der Schalter steht unter Einstellungen › Dateien und Netzwerk: „Dokumente auf einem Server über eine Kopie auf diesem Mac bearbeiten, die bei jedem Sichern zurückgesendet wird“. Ist er aus, öffnen sich Dateien direkt vom Server, und Sie können eine einzelne Datei trotzdem per Rechtsklick über Bearbeiten und an den Server zurücksenden öffnen.

Das gilt nicht nur für SFTP, sondern auch für Dateien Ihrer anderen Verbindungen und auf jedem Netzlaufwerk, das der Mac eingebunden hat, etwa einer SMB-Freigabe oder einem WebDAV-Server.
Schritt 3: Die Übertragungen unter Vorgänge › Entfernte Dateien verfolgen
Klicken Sie in der Symbolleiste auf Vorgänge (die zwei Pfeile) oder wählen Sie Fenster › Laufende Vorgänge (⌃⌘O). Solange Dateien eines Servers geöffnet sind, zeigen die Seiten Alle und Laufend einen Abschnitt Entfernte Dateien, eine Zeile pro Datei:
- der Name der Datei, darunter die Verbindung und der Pfad der Datei auf dem Server;
- ihr Zustand: Aktuell, Gesendet um einer bestimmten Uhrzeit, Wird gesendet …, Änderungen noch nicht gesendet, Inzwischen auf dem Server geändert oder der Fehler, der das letzte Senden gestoppt hat;
- drei Tasten: An den Server zurücksenden, Kopie auf diesem Mac zeigen und Abschließen (löscht die Kopie auf diesem Mac).
Schließen Sie eine Datei ab, wenn Sie mit ihr fertig sind. Hat der Server Ihre letzte Version nicht, fragt Folia Files vorher: „Abschließen, ohne die letzten Änderungen zu senden?“. Aktuelle Kopien, die eine Woche lang unverändert bleiben, verschwinden von selbst.
Wenn der Server Nein sagt
Der Server verweigert das Schreiben
Der klassische Fall ist eine Konfigurationsdatei, die einem anderen Benutzer gehört, etwa eine php.ini von root, während Sie sich als alex verbinden. rclone meldet nur knapp „permission denied“; Folia Files übersetzt das im Banner und in Entfernte Dateien in Klartext:
Der Server verweigert das Schreiben dieser Datei: Der Benutzer der Verbindung darf sie nicht ändern (Eigentümer oder Rechte der Datei auf dem Server).
Ihre Änderung geht nicht verloren: Sie bleibt auf Ihrem Mac, und das Banner bietet Erneut versuchen an. Um das Problem zu lösen, ändern Sie Eigentümer oder Rechte der Datei auf dem Server oder verbinden Sie sich mit einem Benutzer, der sie schreiben darf, und senden Sie dann erneut. Dasselbe gilt für „Auf dem Server ist kein Platz mehr für diese Datei.“ Bestätigt der Server den Empfang nie, lesen Sie „Der Server hat den Empfang nicht bestätigt. Die Änderung bleibt auf diesem Mac.“
Bricht die Verbindung mitten im Senden ab, bleibt die Version, die vorher auf dem Server war, auf Ihrem Mac erhalten, und die Taste Zeigen im Banner bringt Sie dorthin.
Jemand hat die Datei auf dem Server geändert
Vor jedem Senden vergleicht Folia Files die Datei auf dem Server mit der, die Sie geöffnet haben. Hat sie sich geändert (ein Kollege, ein Deploy-Skript, ein anderer Editor), wird nichts überschrieben. Ein Banner meldet „„index.html“ wurde auf dem Server geändert“ und bietet an:
- Version des Servers ersetzen: Ihre Version geht auf den Server; kennt Folia Files den Stand auf dem Server nicht, behält es vorher eine Kopie davon auf Ihrem Mac;
- Beide behalten: Ihre Version wird daneben als „index (meine Version).html“ gesichert, und Ihre nächsten Sicherungen landen in dieser Datei.
Der Server ist nicht verbunden
Sichern Sie, während die Verbindung unterbrochen ist, meldet das Banner, dass der Server nicht verbunden ist und die Änderung auf diesem Mac bleibt. Klicken Sie auf Verbinden und zurücksenden, um ihn wieder einzubinden und zu senden. Das Verbindungsprotokoll (Rechtsklick auf den Server in der Seitenleiste › Verbindungsprotokoll) listet jede gesendete Datei und jeden Fehler auf, hilfreich, wenn ein Problem immer wiederkehrt. Falls Netzlaufwerke Ihren Mac öfter ausbremsen, erklärt dieser Artikel, warum der Finder bei einem Netzlaufwerk hängt.
Beenden, obwohl Änderungen nicht auf dem Server sind
Lassen Sie Folia Files geöffnet, solange Sie bearbeiten: Es ist Folia Files, das jede Sicherung sendet. Beenden Sie es, während eine Änderung den Server noch nicht erreicht hat, fragt es:
Einige Änderungen an entfernten Dateien sind nicht auf dem Server. Sie bleiben auf diesem Mac: Folia Files bietet sie beim nächsten Start an (Vorgänge › Entfernte Dateien).
Klicken Sie auf Abbrechen, um zu bleiben und sie zu senden, oder auf Beenden: Beim nächsten Start zeigt die Datei in Entfernte Dateien „Änderungen noch nicht gesendet“, und die Pfeiltaste sendet sie. Eine Änderung, die aus einer früheren Sitzung noch ungesendet ist und seitdem nicht erneut gesichert wurde, etwa eine Datei, die der Server weiterhin ablehnt, löst die Frage nicht bei jedem Beenden aus; sie wartet in Entfernte Dateien, bis Sie sie senden oder abschließen.
Website-Edition und Mac App Store-Edition
Alles oben Beschriebene gilt für die Website-Edition, in der SFTP funktioniert, sobald rclone installiert ist. Das Bearbeiten über eine Kopie gibt es in beiden Editionen, auch für SMB- und WebDAV-Freigaben. In der Mac App Store-Edition brauchen SFTP-Verbindungen Folia Files Companion, eine kleine kostenlose App, weil die Sandbox von Apple einer App nicht erlaubt, rclone zu starten.
Mehr über Verbindungen, Clouds und das Bearbeiten an Ort und Stelle lesen Sie auf der Seite zu Servern und Clouds.


