SSH-Client und SFTP: Hosts speichern und verbinden
MXterm Pro führt eine Liste Ihrer SSH-Hosts und verbindet, indem es ssh selbst im Pane ausführt. Ihre eigene OpenSSH-Konfiguration gilt also weiterhin. Jeder SSH-Tab bringt ein Dateipanel, eine Statistikleiste und Portweiterleitung mit, die die Verbindung des Tabs mitnutzen.
Host-Manager öffnen
Im Host-Manager speichern, bearbeiten und importieren Sie Hosts und verbinden sich mit ihnen. Sie öffnen ihn auf einem dieser Wege:
- Klicken Sie im Abschnitt SSH der linken Seitenleiste auf die Schaltfläche mit den Reglern (Tooltip SSH- & SFTP-Server verwalten). Die Schaltfläche + daneben öffnet den Manager mit einem leeren Formular Neuer Host.
- Drücken Sie unter macOS
Cmd+Shift+Hoder unter LinuxCtrl+Shift+H. Windows verwendet im Code dasselbe Tastenkürzel, es wurde dort aber nicht getestet. Das Kürzel lässt sich in den Einstellungen ändern. - Wählen Sie in der Befehlspalette SSH- & SFTP-Sitzungsverwaltung.
Die linke Spalte trägt die Überschrift Gespeicherte Sitzungen und bietet einen Filter-Chip pro Gruppe. Die rechte Spalte ist das Formular für einen neuen oder den ausgewählten Host. Esc oder ein Klick auf den dunklen Bereich außerhalb des Fensters schließt den Manager. Der Abschnitt SSH der linken Seitenleiste listet außerdem jeden gespeicherten Host auf: Ein Klick auf einen öffnet ihn in einem neuen Tab, genau wie Verbinden. Hosts hinzufügen, bearbeiten und löschen Sie im Manager. Weitere Tastenkürzel finden Sie unter Tastenkürzel.
Host hinzufügen
- Öffnen Sie den Host-Manager und klicken Sie auf Neuer Host.
- Füllen Sie die Felder unten aus. Name des Lesezeichens, IP-Adresse / Domain und Benutzername sind Pflichtfelder.
- Wählen Sie unter AUTHENTIFIZIERUNGSMETHODE ein Verfahren.
- Klicken Sie auf SSH-Sitzung speichern.
Um einen Host zu ändern, klicken Sie auf seine Karte, bearbeiten das Formular und klicken auf SSH-Sitzung aktualisieren. Das Papierkorb-Symbol auf einer Karte löscht den Host, nachdem Sie bestätigt haben. Haben Sie ein neues Passwort eingegeben und der Schlüsselbund des Systems lehnt es ab, wird nichts geändert: Das Formular bleibt, wie es ist, und zeigt Das Passwort konnte nicht im Schlüsselbund gespeichert werden, daher wurde nichts geändert, gefolgt vom Grund.
| Feld | Wirkung |
|---|---|
| Name des Lesezeichens | Der Name, der in der Liste und im Tab-Titel erscheint. |
| IP-Adresse / Domain | Die Adresse des Servers. |
| Port | Der Port für SSH. Standard ist 22. |
| Benutzername | Das Konto, mit dem Sie sich anmelden. Standard: root. |
| Standard-Arbeitsverzeichnis (optional) | Das Verzeichnis, in dem die Remote-Shell startet. Existiert es nicht, landen Sie in Ihrem Home-Verzeichnis. |
| Jump-Host / Bastion (optional) | Ein Rechner, über den die Verbindung läuft, geschrieben als user@bastion.example.com:22. Mehrere trennen Sie mit Kommas zu einer Kette. Wird an ssh -J übergeben. |
| SSH-Agent weiterleiten | Fügt ssh -A hinzu, damit der Server die Schlüssel in Ihrem lokalen ssh-agent verwenden kann. Wer auf diesem Server root ist, kann sie während Ihrer Verbindung ebenfalls verwenden. Schalten Sie die Option daher nur für Hosts ein, denen Sie vertrauen. |
| Servergruppe (Tag) | Ordnet den Host in der Liste einer Gruppe zu: Production, Staging, Testing, Cloud / VPS, Internal / VPN, Development oder Ihrer eigenen Gruppe über + Eigene Gruppe. |
| Methode | So melden Sie sich an |
|---|---|
| Passwort | ssh fragt das Passwort im Pane ab, und Sie tippen es dort ein. Das Passwortfeld im Formular speichert es im System-Schlüsselbund, und nichts in der App liest es wieder aus, um es für Sie einzutippen. Wie das Formular sagt: Im System-Schlüsselbund gespeichert, nie im App-Speicher. Geben Sie es einmal im Terminal ein; das Dateipanel nutzt dann diese Sitzung weiter. |
| Public-Key-/Private-Key-Datei | Geben Sie den Schlüsselpfad ein oder klicken Sie auf Import..., um die Datei auszuwählen. Er wird als ssh -i übergeben, ein Pfad mit ~ am Anfang funktioniert. Hat der Schlüssel eine Passphrase, fragt ssh im Terminal danach oder nutzt Ihren ssh-agent. Das Feld Passphrase (falls vorhanden) wird nicht zum Entsperren des Schlüssels verwendet. |
| Keyboard Interactive | Die Abfragen des Servers, zum Beispiel ein Einmalcode, zeigt ssh in dem Terminal an. |
ssh weiterhin Ihre ~/.ssh/config und verwendet Ihren ssh-agent wie gewohnt. Standardmäßig speichert der Free-Tarif bis zu 5 Hosts, und mxterm.net kann diese Zahl ändern. Fügen Sie über das Limit hinaus einen Host hinzu, von Hand oder per Import, öffnet sich die Upgrade-Aufforderung. Ein niedrigeres Limit entfernt nie Hosts, die Sie schon gespeichert haben. Siehe Preise.Hosts aus einer Datei importieren
Importieren liest eine Datei, die Sie auswählen. Die Datei ~/.ssh/config liest es nicht von selbst.
- Klicken Sie im Host-Manager über der Host-Liste auf Importieren.
- Wählen Sie eine OpenSSH-Konfigurationsdatei, eine MobaXterm-Sitzungsdatei, einen iTerm2-Profilexport oder eine JSON-Datei. Die Dateiauswahl akzeptiert
.config-,.mxtsessions-,.json-,.txt- und.ini-Dateien. - Öffnen Sie jeden importierten Host und korrigieren Sie, was der Import nicht übernommen hat (siehe die Hinweise unten).
Die Konfigurationsdatei von OpenSSH hat keine Dateiendung und liegt in einem versteckten Ordner. Am einfachsten kopieren Sie sie zuerst, zum Beispiel mit cp ~/.ssh/config ~/Desktop/ssh-config.txt, und importieren die Kopie.
| Format | Was importiert wird |
|---|---|
| OpenSSH-Konfiguration | Ein Host pro Host-Eintrag, der einen HostName hat. Gelesen werden HostName, User, Port und IdentityFile. Einträge mit * im Namen werden übersprungen. Fehlt User, wird root gesetzt. Die Hosts erhalten das Tag Imported. |
| MobaXterm-Sitzungen | Nur Zeilen der Form name=#109#0%host%22%user%...: der Name vor dem =, danach Sitzungstyp, Adresse, Port und Benutzer aus den %-Feldern. Importiert wird nur Typ 0 (SSH), und die Symbolnummer (hier 109) kann eine beliebige Zahl sein. Ein fehlender oder ungültiger Port wird zu 22; ohne Benutzer gilt root. Steht als Benutzer <default> da, wird daraus root. Eine Zeile ohne Adresse wird übersprungen, ebenso eine, die mit [ oder ; beginnt. Auch eine Sitzungszeile, die vor der #-Gruppe mit ; logout beginnt, wird gelesen. Ein privater Schlüsselpfad in der Sitzung bleibt erhalten, und der Host erhält die Methode Schlüsseldatei, sonst Passwort. Ein SSH-Gateway in der Sitzung bleibt als Jump-Host des Hosts erhalten, und eine Sitzung, deren Gateway sich nicht sicher lesen lässt, wird übersprungen. Die Hosts erhalten das Tag MobaXterm. |
| iTerm2-Profile | Ein JSON-Profilexport aus iTerm2. Ein Profil, dessen Befehl oder Starttext eine einfache ssh-Zeile ist, wird zu einem Host mit dem Tag iTerm2. Die App meldet, wie viele andere Profile sie ausgelassen hat. Mehr dazu weiter unten unter „iTerm2-Profile importieren“. |
| JSON | Ein Array von Hosts oder ein Objekt mit einem hosts-Array. Jeder Eintrag braucht host. name, port (eine Zahl), username, keyPath, authType und group werden gelesen, wenn sie vorhanden sind. Passwörter in der Datei werden nicht gespeichert. |
ProxyJump, ForwardAgent und LocalForward. Tragen Sie einen Jump-Host daher selbst unter Jump-Host / Bastion (optional) ein. IdentityFile bleibt genau so erhalten, wie es geschrieben steht, einschließlich ~: ~/.ssh/id_ed25519 wird als ~/.ssh/id_ed25519 gespeichert und erst beim Verbindungsaufbau aufgelöst, sodass der Host zwischen Rechnern portabel bleibt.iTerm2-Profile importieren
Session Manager Pro kann iTerm2-Profile als gespeicherte Sitzungen und SSH-Hosts übernehmen. Öffnen Sie ihn über die Befehlspalette oder unter macOS mit Cmd+Shift+O (unter Linux Ctrl+Shift+O) und klicken Sie auf den Tab Import / Export.
Klicken Sie unter macOS auf Profile auf diesem Mac suchen. Die App liest die Einstellungsdatei von iTerm2 mit plutil, oder die Datei im benutzerdefinierten Einstellungsordner, falls iTerm2 aus einem solchen Ordner lädt. Diese Schaltfläche gibt es nur unter macOS. Auf jedem System können Sie stattdessen auf den Dateibereich dieses Tabs klicken, um den JSON-Export von iTerm2 auszuwählen, oder dessen Text in das JSON-Feld einfügen und auf Sitzung importieren klicken. In beiden Fällen erhalten Sie dieselbe Liste zur Auswahl.
| Profil | Was daraus wird |
|---|---|
Sein Befehl ist eine einfache ssh-Zeile | Ein SSH-Host mit dem Tag iTerm2, benannt nach dem Profil. Die App liest -p, -i, -l, -J und [user@]host und verwirft -t, -T, -4, -6, -C, -q, -v, -X, -Y und -A. Weil -A verworfen wird, schalten Sie SSH-Agent weiterleiten selbst ein, wenn Sie es brauchen. Mit -i verwendet der Host eine Schlüsseldatei, sonst Passwort. Ohne Benutzer erhält der Host root, und die Liste weist darauf hin. |
| Es hat ein Arbeitsverzeichnis und keinen ssh-Befehl | Eine gespeicherte Sitzung mit einem Workspace und einem einfachen Shell-Pane, das in diesem Verzeichnis öffnet. Ihr Startbefehl, falls vorhanden, wird in der Liste angezeigt und nie importiert, sodass eine gespeicherte Sitzung keinen Befehl ausführen kann. |
| Alles andere | Wird übersprungen, mit dem Grund in der Liste: weder Verzeichnis noch ssh-Befehl, eine Option, die der Import nicht liest (etwa -o oder -L), ein Befehl, der auf dem Server laufen soll, Shell-Syntax wie ; oder $, oder autossh bzw. mosh statt ssh. Eine ssh-Zeile, die sich nicht sauber importieren lässt, wird übersprungen, auch wenn das Profil ein Verzeichnis hat. |
Es wird nichts geschrieben, bis Sie auf Auswahl importieren (N) klicken, wobei N die Zahl der angehakten Einträge ist. Ein übersprungenes Profil lässt sich nicht anhaken. Alle auswählen und Keine auswählen ändern die Haken. Wenn Sie ein Profil erneut importieren, wird seine gespeicherte Sitzung aktualisiert, statt eine zweite anzulegen. Ein Host mit demselben user@host:port wie ein gespeicherter Host wird übersprungen, und die Ergebniszeile zählt ihn mit.
ssh-Profilen Hosts und meldet, wie viele andere Profile sie ausgelassen hat. Gespeicherte Sitzungen entstehen nur in Session Manager Pro.Mit einem Host verbinden
- Öffnen Sie den Host-Manager.
- Optional: Klicken Sie auf der Karte des Hosts auf Ping. Das prüft nur, ob die Adresse und der Port von Ihrem Rechner aus eine TCP-Verbindung annehmen. Es meldet sich nicht an und läuft nicht über den Jump-Host.
- Klicken Sie auf Verbinden. Ein neuer Tab namens
[SSH] <name> (<address>)öffnet sich. - Beantworten Sie im Terminal die Abfragen von
ssh, etwa die Bestätigung des Host-Schlüssels beim ersten Mal sowie Ihr Passwort, Ihre Passphrase oder Ihren Code.
Das Pane führt ssh selbst aus, und zwar das auf Ihrem Computer bereits installierte: MXterm hat keine eigene SSH-Bibliothek, und auch das Dateipanel führt ssh und scp aus. Unter Windows ist das der OpenSSH-Client, der dort nicht getestet wurde. Darunter liegt keine lokale Shell, und es wird auch kein Befehl in eine Shell getippt: Die App baut die Argumente aus den gespeicherten Feldern und übergibt sie direkt an ssh, das sich dann verhält wie in jedem Terminal. MXterm fügt diese Optionen hinzu:
-o ControlMaster=auto -o ControlPath=~/.mxterm/sockets/%r@%h:%p -o ControlPersist=10m: eine gemeinsame Verbindung pro Host, die das Dateipanel, die Statistikleiste und die Portweiterleitung mitnutzen. Sie bleibt im Hintergrund 10 Minuten offen, nachdem sie niemand mehr verwendet.-o ServerAliveInterval=30 -o ServerAliveCountMax=3: Keepalive-Probes, damit eine unterbrochene Verbindung nach etwa 90 Sekunden auffällt und nicht erst, wenn Sie das nächste Mal tippen.-i,-J,-Aund-paus der Schlüsseldatei, dem Jump-Host, der Agent-Weiterleitung und dem Port des Hosts.-iwird nur für einen Host mit Schlüsseldatei übergeben.--vor dem Ziel, damit ein Hostname oder Login-Name, der mit-beginnt, nie als Option gelesen werden kann.
Jedes Feld wird geprüft, bevor die Verbindung versucht wird: Host, Benutzer und Jump-Host nach den Regeln, die OpenSSH selbst anwendet; Port, Pfad der Schlüsseldatei und Arbeitsverzeichnis auf Werte, die sich nicht sicher übergeben lassen. Wird eines abgelehnt, öffnet Verbinden keinen Tab, und der Manager zeigt eine Meldung mit dem Feld und dem Grund. Wird ein gespeicherter Tab beim Start abgelehnt, erscheint dieselbe Meldung in einer Leiste am oberen Rand des Panes.
Hat der Host kein Standard-Arbeitsverzeichnis und haben Sie unter Standard-Arbeitsverzeichnis für SSH in Einstellungen → Terminal die Option Eigener Verzeichnispfad gewählt, startet der Tab in diesem Verzeichnis. Siehe Einstellungen.
Die gemeinsame Verbindung zurücksetzen
Alle Panes, das Dateipanel, die Statistikleiste und die Portweiterleitung eines Hosts teilen sich eine einzige ssh-Verbindung im Hintergrund. Sie hat sich einmal angemeldet und behält den Zustand von damals. War das Passwort des Servers in diesem Moment abgelaufen, kann das Dateipanel weiter fehlschlagen, nachdem Sie das Passwort im Terminal geändert haben, weil es noch die alte Verbindung nutzt.
Verbindung zurücksetzen schließt sie, sodass die nächste sich von Grund auf neu anmeldet. Die Fehlerkarte des Dateipanels zeigt die Schaltfläche, wenn der Fehler ein abgelaufenes Passwort oder eine abgelehnte Anmeldung ist. Klicken Sie darauf: Die App schließt die Verbindung und öffnet einen neuen SSH-Tab zum Host. Melden Sie sich dort an und klicken Sie dann auf Erneut versuchen. Lässt sich der Tab nicht öffnen, fordert das Panel Sie auf, selbst einen zu öffnen. Jede Sitzung über die alte Verbindung endet mit ihr, einschließlich Panes und laufender Portweiterleitungen.
Die App schließt die gemeinsame Verbindung auch von selbst, wenn:
- Sie einen Host speichern und dabei Adresse, Port, Benutzer, Authentifizierungsmethode, Schlüsseldatei, Jump-Host oder Agent-Weiterleitung ändern, oder ein neues Passwort speichern;
- Sie einen Host löschen oder sein gespeichertes Passwort entfernen;
- Sie einen Host hinzufügen und eine Verbindung zu dieser Adresse noch offen ist.
Das Umbenennen eines Hosts oder das Ändern seiner Gruppe oder seines Arbeitsverzeichnisses lässt sie offen. Auch das Bearbeiten, Löschen oder Hinzufügen eines Hosts sowie das Speichern oder Entfernen eines Passworts lässt sie offen, wenn ein anderer gespeicherter Host dasselbe user@host:port hat. Nutzen Sie in diesem Fall Verbindung zurücksetzen, wenn die Verbindung veraltet ist.
Dateien auf dem Server durchsuchen
Jeder SSH-Tab hat ein Dateipanel für seinen Host, standardmäßig auf der linken Seite. Die Buttons in der Kopfzeile des Panels öffnen die Portweiterleitung, verschieben das Panel auf die andere Seite, schalten Terminal-Ordner folgen ein oder aus, aktualisieren den Ordner, blenden versteckte Dateien ein oder aus und blenden das Panel aus. Ist das Panel ausgeblendet, holen Sie es mit einem Klick auf die Leiste FILES (SFTP) zurück. Ziehen Sie am Rand des Panels, um die Größe zu ändern. Es öffnet sich mit etwa 30 % der Workspace-Breite, nie unter 420 px und nie über 640 px, und die Breite, auf die Sie es ziehen, wird gemerkt. Das Dropdown in der Kopfzeile schaltet das Panel und die Statusleiste auf einen anderen gespeicherten Host um; das Terminal bleibt, wo es ist.
Das Dateipanel ist eine Ansicht der Dateien des Servers. Es hat keine lokale Hälfte, ist also kein Dual-Pane-Manager, und es synchronisiert oder spiegelt keine Ordner zwischen Ihrem Computer und dem Server: Dateien bewegen sich nur, wenn Sie sie hochladen oder herunterladen. Ihre eigenen Dateien stehen im Tab Explorer (siehe Eine Datei auf Ihrem eigenen Rechner bearbeiten).
ssh und scp im Batch-Modus über die gemeinsame Verbindung des Tabs aus. Bei einem Host mit Passwort oder Keyboard-Interactive, bei einem Schlüssel, dessen Passphrase nicht in Ihrem ssh-agent liegt, oder bei einem Host, der das Jump-Host-Feld braucht, melden Sie sich zuerst im Terminal an. Bis dahin zeigt das Panel Verzeichnis kann nicht gelesen werden. Die eigenen ssh-Befehle des Panels verwenden StrictHostKeyChecking=accept-new: Ein Host, der noch nicht in Ihrer known_hosts steht, wird als vertrauenswürdig behandelt und eingetragen, und ein geänderter Host-Schlüssel wird abgelehnt. Die Frage zu einem neuen Host-Schlüssel wird im Terminal-Tab gestellt. Ist ein abgelaufenes Passwort oder ein abgelehnter Login die Ursache, enthält die Karte außerdem Verbindung zurücksetzen.Das Panel öffnet sich im Home-Verzeichnis des Kontos, mit dem Sie angemeldet sind; es fragt den Server danach. Der Home-Button führt dorthin zurück, sein Tooltip lautet weiterhin Zum Root-Verzeichnis (/root), egal bei welchem Konto. Um woanders hinzugehen, klicken Sie auf die Pfadleiste, geben einen absoluten Pfad wie /var/www ein und drücken Enter. Mit einem Klick auf ein Pfadsegment springen Sie wieder nach oben.
Geben Sie in Schnellfilter für Dateien... etwas ein, um nach Namen zu filtern, oder nutzen Sie die Chips Alle, Ordner, Code, Bilder und Archive. Ein Klick auf die Spaltenköpfe Dateiname, Größe oder Geändert sortiert die Liste. Der Such-Button neben dem Filter öffnet Remote-Grep-Suche. Die Suche durchsucht den Text in Dateien unterhalb des aktuellen Ordners, überspringt .git, node_modules, vendor, storage, dist, build und .cache, listet bis zu 60 Trefferzeilen auf und öffnet beim Klick auf ein Ergebnis die Datei im Editor.
Ein Link, dessen Ziel fehlt, wird trotzdem aufgelistet. Für die Auflistung nutzt das Panel python3 auf dem Server, falls vorhanden, und sonst ls -la. Bei ls -la kann ein Name mit mehreren Leerzeichen hintereinander mit weniger Leerzeichen erscheinen, und ein Link erscheint als name -> target.
| Aufgabe | So geht es |
|---|---|
| Eintrag öffnen | Doppelklicken Sie darauf oder drücken Sie Enter. Ein Ordner wird geöffnet, ein Bild erscheint in einem Viewer und eine Textdatei bis 5 MB öffnet sich im Editor (bei einer größeren fragt das Panel zuerst nach). Andere Dateien bieten einen Download an. |
| Datei oder Ordner anlegen | Klicken Sie in der Werkzeugleiste auf Neue Datei oder Neuer Ordner, oder klicken Sie mit der rechten Maustaste auf freie Fläche. Verzeichnis erstellen und öffnen öffnet den neuen Ordner zusätzlich. |
| Umbenennen | Rechtsklick → Umbenennen, oder F2 drücken. |
| Berechtigungen ändern | Klicken Sie auf den Wert in der Spalte Berechtigungen, oder Rechtsklick → Dateiberechtigungen.... Haken Sie Lesen, Schreiben und Ausführen an, geben Sie einen Oktalwert ein oder wählen Sie eine Vorgabe (755, 644, 777, 600). Bei einem Ordner können Sie Rekursiv auf alle Unterordner & Dateien anwenden (-R) anhaken. |
| Löschen | Rechtsklick → Löschen, oder Delete drücken, und dann mit Endgültig auf dem Server löschen bestätigen. Das führt rm -rf auf dem Server aus und lässt sich nicht rückgängig machen. |
| Pfad kopieren | Rechtsklick → Pfad in die Zwischenablage kopieren, oder URL(s) in die Zwischenablage kopieren für eine sftp://-URL. |
| Mit einer lokalen App öffnen | Rechtsklick auf eine Datei → In System-App öffnen. Das lädt eine temporäre Kopie herunter und öffnet sie. Änderungen an dieser Kopie werden nicht hochgeladen. |
| Mehrere Einträge auswählen | Mit Cmd-Klick oder Ctrl-Klick fügen Sie Einträge hinzu, mit Shift-Klick wählen Sie einen Bereich. Es erscheint eine Leiste mit Herunterladen, Löschen und Auswahl aufheben. |
Die Tastenkürzel gelten, wenn Sie in das Panel geklickt haben:
| Taste | Aktion |
|---|---|
↑ / ↓ | Auswahl verschieben. Mit gedrückter Shift-Taste erweitern Sie sie. |
Enter | Den ausgewählten Eintrag öffnen, wie bei einem Doppelklick. |
Space | Die ausgewählte Textdatei im Editor öffnen. |
Backspace (auch mit gedrückter Cmd- oder Ctrl-Taste) oder Cmd+← / Ctrl+← | Einen Ordner nach oben gehen. |
F2 | Umbenennen. |
Delete | Nach Bestätigung löschen. Sind mehrere Einträge ausgewählt, gilt eine Bestätigung für alle. |
Cmd+A / Ctrl+A | Alles auswählen. |
Cmd+F / Ctrl+F | Den Fokus ins Filterfeld setzen. Im Feld leert Esc es beim ersten Drücken und gibt beim zweiten Drücken den Fokus an die Liste zurück. Tasten, die Sie im Feld tippen, bleiben im Feld: Backspace löscht ein Zeichen, statt einen Ordner nach oben zu gehen. |
| Buchstaben | Zum ersten Namen springen, der mit dem Getippten beginnt. Drücken Sie denselben Buchstaben erneut, um zum nächsten Treffer zu springen. |
Datei hochladen und Ordner hochladen… in der Werkzeugleiste sowie Dateien hochladen im Rechtsklick-Menü kopieren jeweils eine Datei oder einen Ordner von Ihrem Computer in den aktuellen Ordner. Sie können auch Dateien aus dem Finder auf das Panel ziehen; sie landen dann in dem Ordner, den Sie gerade ansehen. Auch ein Drop auf einen SSH-Pane lädt hoch (siehe Dateien auf einen SSH-Pane ziehen), und ein Drop auf einen lokalen Pane tippt weiterhin die lokalen Pfade ein. Datei herunterladen im Rechtsklick-Menü oder der Download-Button in einer Dateizeile speichert die Datei in Ihrem Ordner Downloads. Ordner lassen sich hochladen, aber nicht herunterladen, und zum Herunterladen kann man nichts aus dem Panel herausziehen. Den Fortschritt sehen Sie in Übertragungswarteschlange am unteren Rand des Panels.
scp auf Ihrem Computer älter als OpenSSH 9.0 oder lässt sich seine Version nicht lesen, lehnen Uploads und Downloads einen Remote-Pfad ab, der etwas anderes als Buchstaben, Ziffern und _./+,:@%=- enthält. Ein Name mit Leerzeichen, Anführungszeichen oder $ wird abgelehnt, Buchstaben mit Akzent und andere Nicht-ASCII-Buchstaben werden akzeptiert. Das alte Protokoll übergibt den Pfad an die Shell des Servers. Die Meldung fordert Sie auf, die Datei umzubenennen oder OpenSSH zu aktualisieren. Mit OpenSSH 9.0 oder neuer wird nichts abgelehnt.Das Panel dem Terminal folgen lassen
Wenn Sie in einem SSH-Terminal cd ausführen, kann das Dateipanel in denselben Ordner wechseln. Das Folgen ist standardmäßig eingeschaltet. Der Button Terminal-Ordner folgen in der Kopfzeile des Panels schaltet es aus und wieder ein, und das Panel merkt sich Ihre Wahl. Ein grüner Punkt am Button bedeutet, dass das Terminal seinen Ordner meldet.
Den Ordner liefert die Shell des Servers, die ihn mit der Escape-Sequenz OSC 7 melden muss. fish macht das von selbst. bash und zsh brauchen dafür eine Zeile in ~/.bashrc oder ~/.zshrc auf dem Server. MXterm tippt nie etwas in Ihre SSH-Sitzung, um die Shell zur Meldung zu bewegen.
Wurde etwa 8 Sekunden nach der ersten Ausgabe des Terminals nichts gemeldet, zeigt das Panel einen Hinweis mit den Buttons Für bash kopieren (~/.bashrc) und Für zsh kopieren (~/.zshrc), die diese Zeile kopieren. Tragen Sie sie in die Startdatei auf dem Server ein und öffnen Sie ein neues Terminal. Für diesen Server nicht mehr anzeigen blendet den Hinweis für diesen Host aus.
- Solange das Panel offen ist, folgt es einem SSH-Pane desselben Tabs, der mit dem Host des Panels verbunden ist: dem fokussierten, sobald er einen Ordner gemeldet hat, sonst dem, der zuletzt gemeldet hat. Ein lokaler Pane wird nie verfolgt.
- Es wechselt nur, wenn sich der Ordner des Terminals ändert. Derselbe Ordner, der bei jedem Prompt erneut gemeldet wird, holt das Panel nicht aus einem Ordner zurück, den Sie selbst geöffnet haben.
- Es wechselt nicht, während Sie in der Pfadleiste tippen. Es wartet auf die nächste Meldung.
- Wenn Sie mehrmals kurz hintereinander
cdausführen, listet das Panel nur den letzten Ordner.
Dateien auf einen SSH-Pane ziehen
Ziehen Sie Dateien oder Ordner aus dem Finder auf einen SSH-Pane. MXterm lädt sie in einen Ordner auf dem Server hoch und tippt ihre Server-Pfade am Prompt ein, sodass Sie sie im Befehl verwenden können, den Sie gerade schreiben. Das Dateipanel muss dafür nicht geöffnet sein. Ein Drop auf das Panel lädt in den Ordner hoch, den es zeigt, und ein Drop auf einen lokalen Pane tippt die lokalen Pfade ein.
- Als Ordner dient der, den das Terminal gemeldet hat (siehe oben), sonst der, den das Dateipanel dieses Tabs zeigt, sonst Ihr Home-Ordner auf dem Server. Ein Drop lädt nie nach
/hoch, außer das Terminal hat/gemeldet. Sonst lädt er nichts hoch und fordert Sie auf, zuerst mitcdin einen Ordner zu wechseln. - Ein bereits vorhandener Name wird nie überschrieben. Der Upload erhält den Namen
name (1).ext,name (2).extund so weiter, und eingetippt wird der neue Pfad. - Die Pfade werden getippt, nachdem der letzte Upload fertig ist, durch Leerzeichen getrennt und mit einem Leerzeichen am Ende. Ein Name, der Anführungszeichen braucht, steht in einfachen Anführungszeichen. Getippt werden nur Dateien, die hochgeladen wurden, und nur in diesem Pane, auch bei eingeschaltetem Broadcast. Ein Name mit einfachem Anführungszeichen, Backslash,
!oder Steuerzeichen wird hochgeladen, aber nicht getippt, und die Meldung führt ihn auf. - Die Uploads erscheinen in Übertragungswarteschlange. Lässt sich der Ordner nicht lesen, wird nichts hochgeladen, und die Meldung nennt den Grund. Pro Host läuft nur ein Drop gleichzeitig; ein zweiter fordert Sie auf, erneut zu ziehen, wenn der erste fertig ist.
Eine Leiste am unteren Rand des Panes zeigt Fortschritt und Ergebnis. Verlief alles fehlerfrei, verschwindet sie nach 6 Sekunden. Bei einem Fehler oder einer Ablehnung bleibt sie, bis Sie sie schließen.
Eine Datei auf dem Server bearbeiten
Doppelklicken Sie auf eine Textdatei, drücken Sie darauf Space oder wählen Sie per Rechtsklick Ansehen/Bearbeiten. Der Editor bietet Syntaxhervorhebung, eine Auswahl des Farbschemas, eine Auswahl der Schriftgröße und Zeilenumbruch und merkt sich diese Einstellungen. Es öffnet sich nur UTF-8-Text; andere Dateien laden Sie stattdessen herunter.
Der Editor zeigt die Datei so, wie sie auf dem Server liegt, und ein Speichern schreibt sie mit demselben abschließenden Zeilenumbruch zurück: Eine Datei ohne abschließenden Zeilenumbruch, etwa authorized_keys, hat danach weiterhin keinen, und eine Datei mit einem behält ihn.
Cmd+S / Ctrl+S) tut nichts, bis ein Lesen gelingt. So wird nie ein leerer Puffer über die Datei geschrieben.| Taste | Aktion |
|---|---|
Cmd+S / Ctrl+S | Auf dem Server speichern. Der Button Speichern tut dasselbe. |
Esc | Schließen. Bei ungespeicherten Änderungen fragt der Editor nach: Weiter bearbeiten oder Verwerfen & schließen. |
Cmd+Shift+F / Ctrl+Shift+F | Suchen und ersetzen. |
Cmd+G / Ctrl+G | Zu Zeile springen. |
Cmd+/ / Ctrl+/ | Zeilenkommentar umschalten. |
Option+Z / Alt+Z | Zeilenumbruch umschalten. |
Ein Speichern prüft zuerst, ob sich die Datei auf dem Server geändert hat, seit Sie sie geöffnet oder zuletzt gespeichert haben, zum Beispiel durch ein Deployment. Hat sie sich geändert, bietet Diese Datei wurde auf dem Server geändert die Optionen Abbrechen, Vom Server neu laden (verwirft Ihre Änderungen und lädt die Version des Servers) und Trotzdem überschreiben. Die Prüfung nutzt python3 auf dem Server; ohne es wird ungeprüft gespeichert.
Das Speichern schreibt zuerst in eine temporäre Datei neben dem Original und kopiert sie dann darüber. Eine abgebrochene Verbindung hinterlässt die Datei deshalb nicht leer, und die Datei behält ihre Berechtigungen und ihren Eigentümer.
Eine Datei auf Ihrem eigenen Rechner bearbeiten
Derselbe Editor öffnet jetzt auch lokale Dateien. Der Tab Explorer im rechten Panel zeigt einen Baum des Ordners, in dem der fokussierte Pane arbeitet (Ihr Rechner, kein Server), und ein Klick auf eine Datei öffnet sie in dem Editor, den Sie gerade kennengelernt haben. Es gibt keinen Host zur Auswahl und keine Verbindung.
- Öffnen Sie das rechte Panel mit
Cmd+Option+Bunter macOS oderCtrl+Alt+Bunter Linux und wählen Sie den Tab Explorer (das Symbol mit dem Ordnerbaum). - Die Wurzel des Baums ist das Arbeitsverzeichnis des fokussierten Panes; sie wechselt von selbst, wenn Sie einen Pane fokussieren, der woanders arbeitet.
- Mit den Buttons oben filtern Sie nach Namen, blenden versteckte Dateien ein oder aus und aktualisieren.
- Klicken Sie auf eine Datei, um sie zu bearbeiten.
Cmd+S(unter LinuxCtrl+S) speichert sie zurück auf die Festplatte.
Hier lassen sich nur Dateien öffnen, die Sie auch im SFTP-Panel schon bearbeiten könnten: UTF-8-Text bis 5 MB. Alles andere bleibt unberührt.
Einen Port weiterleiten
Mit der Portweiterleitung erreichen Sie von Ihrem Rechner aus einen Port, der auf dem 127.0.0.1 des Servers lauscht, etwa eine Datenbank. Die Weiterleitung wird der gemeinsamen SSH-Verbindung des Tabs hinzugefügt.
- Verbinden Sie sich mit dem Host und melden Sie sich im Terminal an.
- Klicken Sie in der Kopfzeile des Dateipanels auf den Button für die Portweiterleitung (Verwaltung von SSH-Portweiterleitung & Tunneln).
- Geben Sie unter Neue Portweiterleitung hinzufügen einen Namen, einen lokalen Port und einen Remote-Port ein und klicken Sie auf Regel hinzufügen.
- Klicken Sie bei der Regel auf Starten. Sie zeigt LÄUFT, sobald
sshdie Weiterleitung akzeptiert hat. - Richten Sie Ihren Client auf
127.0.0.1und den lokalen Port. Stoppen entfernt die Weiterleitung.
Jede Regel ist ssh -L 127.0.0.1:<local port>:127.0.0.1:<remote port>. Der lokale Port lauscht nur auf dem Loopback Ihres Rechners, und das Ziel ist 127.0.0.1 aus Sicht des Servers. Dieser Dialog kann nicht auf einen anderen Rechner im Netz des Servers weiterleiten, keinen Port auf dem Server öffnen (-R) und keinen SOCKS-Proxy starten (-D).
Zeigt Starten einen Fehler mit Control socket, gibt es für diesen Host noch keine offene Verbindung. Melden Sie sich im Terminal-Tab an und versuchen Sie es erneut.
Server-Statistiken
Eine Leiste am unteren Rand eines SSH-Tabs zeigt den Hostnamen und die Uptime sowie drei Messwerte, die Sie in der Tabelle finden:
| Messwert | Was er misst |
|---|---|
| CPU | Die Load Average über 1 Minute, geteilt durch die Anzahl der CPU-Kerne, als Prozentwert, der bei 100 gedeckelt ist. |
| RAM | Belegter Speicher: Gesamt minus verfügbar, aus /proc/meminfo. Meldet der Server keinen Gesamtwert, wie es ein Mac- oder BSD-Server tut, erscheint ein Strich statt 0 %. |
| Disk | Belegter Platz auf /. |
Ein Messwert ist bis 65 % grün, über 65 % gelb und über 85 % rot. Die Leiste aktualisiert sich alle 20 Sekunden, und VPS-Statistiken aktualisieren liest sie sofort neu. Dafür läuft über die gemeinsame Verbindung ein kurzes python3-Skript, das Linux-Dateien unter /proc liest. Es braucht also python3 auf dem Server, und bei einem Host mit Passwort muss das Terminal angemeldet sein. Die Leiste erscheint nach dem ersten erfolgreichen Lesen; ohne python3 erscheint sie nicht.
Command Recipes
Command Recipes gleicht Ihre Eingabe mit einer festen Menge fertiger Linux-Befehle ab: große Dateien, Speicher- und CPU-Auslastung, Festplattenbelegung, offene Ports, Docker, Nginx, UFW, Systemlogs und Neustart. Es läuft kein KI-Modell. Öffnen Sie es mit dem runden Button unten rechts in einem SSH-Tab oder unter macOS mit Cmd+J.
Tippen Sie eine Anfrage oder klicken Sie auf einen Schnelltipp. Passt ein Rezept, sehen Sie den Befehl und eine Erklärung in einer Zeile. Kopieren kopiert ihn. Im Terminal einfügen & ausführen tippt ihn in den fokussierten Pane des aktuellen Tabs, drückt Enter und kopiert ihn ebenfalls. Passt nichts, wird kein Befehl angeboten.
docker system prune -af --volumes aus, was ungenutzte Volumes samt ihren Daten löscht, andere laden Nginx neu, öffnen einen Firewall-Port oder starten neu. Lesen Sie den Befehl, bevor Sie ihn ausführen.