Ich wollte eigentlich dasselbe machen, und niemand hat es aufgeschrieben, also habe ich das heute herausgefunden.
Es gibt 2 erforderliche und 3 optionale Teile:
- Aktivieren Sie ssh login auf beiden Computern (erforderlich)
- Richten Sie einen SSH-Tunnel vom Remote-Rechner zu Ihrem Rechner ein (erforderlich)
- Richten Sie einen Alias für den SSH-Tunnel ein (optional)
- Richten Sie auf dem Remote-Computer (optional) einen Alias für TextWrangler ein
- Richten Sie SSH-Schlüssel ein, damit Sie nicht jedes Mal Ihr Passwort eingeben müssen (optional)
Sie müssen in der Lage sein, ssh von lokal nach remote auszuführen, um die Befehle auszuführen, und Sie müssen in der Lage sein, ssh von remote zu lokal zu senden, damit Befehle an TextWrangler gesendet werden können.
Um den SSH-Tunnel einzurichten, müssen Sie einen Befehl auf Ihrem lokalen Rechner ausführen wie:
%Vor%
Die Flags -f und -N setzen ssh in den Hintergrund und lassen Sie auf Ihrem Rechner. Das Flag -R bindet einen Port auf dem Remotecomputer an einen Port auf Ihrem lokalen Computer. Alles, was die entfernte Maschine an Port 10022 kontaktiert, wird an Port 22 Ihres lokalen Computers gesendet. Der Remote-Port kann alles sein, was Sie wollen, aber Sie sollten einen Port & gt; 1024 um Konflikte zu vermeiden und du musst nicht root sein. Ich habe 10022 gewählt, weil es dem Standardanschluss von ssh von 22 ähnelt. Ersetzen Sie die Klammern durch Ihren Benutzernamen und den Computernamen.
Sie müssen das nach der Anmeldung einmal ausführen. Um den Befehl für Sie einfacher zu machen, können Sie in Ihrem Bash-Profil einen Alias hinzufügen. Fügen Sie Ihrem lokalen
osascript <<EOF
tell application "TextWrangler"
activate
open location {""}
end tell
EOF
Folgendes hinzu:
%Vor%
Natürlich können Sie den gewünschten Aliasnamen auswählen.
Sobald Sie den Tunnel eingerichtet haben, können Sie einen Befehl wie diesen auf dem entfernten Rechner verwenden:
%Vor%
Das Flag -p gibt an, Port 10022 zu verwenden (oder den Port, den Sie zuvor gewählt haben). Dies führt dazu, dass der Remote-Computer eine Verbindung zu Ihrem lokalen Computer herstellt und den Befehl in Anführungszeichen ausführt, ohne eine interaktive SSH-Sitzung zu öffnen. Der Befehl in den Anführungszeichen ist der Befehl, den Sie auf Ihrem lokalen Computer ausführen würden, um die Remote-Datei in TextWrangler zu öffnen.
Um den Befehl für Sie einfacher zu machen, können Sie eine Funktion in Ihrem Bash-Profil hinzufügen. Fügen Sie Ihrem Remote
bind '"\et":"sh ~/bin/textwrangler.sh \"sftp://myusername:@my.server:22222/\""'
Folgendes hinzu:
%Vor%
Dies setzt voraus, dass die TextWrangler-Befehlszeilentools nicht auf dem Remotecomputer installiert sind. Wenn Sie dies tun, sollten Sie die Funktion etwas anderes als Alt-t
nennen. Zum Beispiel %code% . Hier betrachtet %code% das erste Zeichen des ersten Parameters der Funktion, was der Dateipfad sein sollte. Wenn es nicht mit %code% beginnt, ermitteln wir den absoluten Pfad, indem wir das aktuelle Arbeitsverzeichnis ( %code% ) am Anfang hinzufügen. Wenn Sie sich jetzt auf dem Remotecomputer in %code% befinden und %code% ausführen, wird Folgendes auf Ihrem lokalen Computer ausgeführt:
%Vor%
Schließlich sollten Sie die ssh-Tasten in beide Richtungen einrichten, damit Sie nicht jedes Mal zur Eingabe eines Passworts aufgefordert werden. Hier ist eine Anleitung, die jemand anderes geschrieben hat: Ссылка
___ qstnhdr ___ Öffnen einer Remote-Datei mit TextWrangler
___ answer1395714 ___
Ich denke, was Sie meinen, heißt "X11 Forwarding" über ssh. Sehen Sie sich die Hilfeseite ssh_config (5) für die Konfiguration an (oder verwenden Sie einfach 'ssh' mit dem Parameter '-X'). Soweit ich weiß, funktioniert dies nur mit X11-Programmen (gvim, xemacs, etc.), da der Editor tatsächlich auf dem Host läuft, mit dem Sie sich verbinden - nur die Anzeige geschieht auf Ihrem lokalen Rechner. Daher ist TextWrangler keine Option, da es kein X11-Programm ist.
Ich benutze Interarchy (von nolobe) für die Remote-Bearbeitung. Es ist ein ziemlich fortgeschrittener FTP / SFTP-Client, der Ihnen eine Finder-ähnliche Ansicht Ihrer Remote-Dateien bietet und Ihnen erlaubt, Ihren Lieblings-Editor zu verwenden, um an diesen Dateien zu arbeiten.
Wenn Sie nicht für solch ein Programm bezahlen möchten, gibt es ein Open-Source-Programm namens "Fugu" von der Universität von Michigan, das Sie auch verwenden können.
Persönlich benutze ich Cyberduck als meinen S / FTP-Browser. In den Einstellungen von Cyberduck können Sie einen Standardtext-Editor definieren, um entfernte Dateien zu bearbeiten. Jetzt kann ich einfach Cmd + K drücken, wenn ich eine Datei ausgewählt habe, und sie wird in TextWrangler geöffnet. Beim Speichern werden die Änderungen automatisch in die Remote-Datei übertragen.
Meine aktuelle Lösung zum Bearbeiten von Dateien auf einem Remote-Webserver besteht darin, Fetch zu verwenden, um den Remote-Computer zu durchsuchen, und TextWrangler, um die Änderungen vorzunehmen. Aber da ich mich beim Navigieren auf der Kommandozeile auf dem entfernten Rechner wohler fühle (aber nicht komfortabel genug, um VIM zu benutzen ...), würde ich gerne etwas wie 'open filename.txt' auf dem entfernten Rechner eingeben können und habe TextWrangler auf meinem lokalen Rechner geöffnet. Ich habe den Begriff "Reverse Tunneling" als Option gehört, aber ich habe keine Ahnung, was ich als nächstes tun soll. Alle Vorschläge werden sehr geschätzt - danke!
FileZilla bietet diese Funktionalität ebenfalls an. Sie können es hier herunterladen . Sobald Sie sich mit Ihrem sftp verbunden haben, können Sie mit der rechten Maustaste auf die Textdatei klicken und sie mit dem Texteditor Ihrer Wahl öffnen.
Ich glaube nicht, dass dies das Öffnen von der Kommandozeile erlaubt, aber
Eclipse mit Remote-System -Explorer unterstützt auch die Bearbeitung von Dateien via SSH-Verbindung
___ tag123terminal ___ Eine Terminal- oder Befehlszeilenschnittstelle ist eine reine Textschnittstelle für die Interaktion mit einem Betriebssystem oder einer Software. Ein Benutzer gibt typischerweise Befehle in das Terminal ein, um bestimmte Aufgaben auszuführen.
___ antwort43335890 ___
Minimale Antwort
Sie können Applescript verwenden. Also von der Kommandozeile aus:
%Vor%
Hinweise
- Offensichtlich würden Sie kein Here-Dokument bei jedem Aufruf eingeben wollen, also würde ich vorschlagen, diese Logik in ein normales Shell-Skript zu schreiben:
%Code%
Rufen Sie das Skript dann so auf:
%Vor%
- Die Angabe eines hostqualifizierten Pfads kann jedes Mal mühsam werden, also entweder den Code in Ihrem Skript festschreiben oder den Skriptaufruf an einen Tastaturbefehl über Ihre Shell binden. Für bash:
%Code%
Jetzt generieren Sie den Großteil des Befehls durch Drücken von %code%
___ tag123textwrangler ___ TextWrangler ist der "kleine Bruder" von BBEdit, einem professionellen HTML- und Texteditor für den Macintosh.
___