Bearbeiten Sie Textdateien über SSH mit einem lokalen Texteditor

6

Ich arbeite in verschiedenen Linux- und UNIX-Umgebungen.

Ich möchte das Problem der Bearbeitung von Remote-Konfigurationsdateien über SSH elegant lösen. Anstelle von Terminal-Editoren (Nano) möchte ich die Datei in einem lokalen Texteditor auf meinem Desktop (Sublime Text 2) öffnen.

CyberDuck, WinSCP und verschiedene andere SFTP-Apps können dies tun.

Die Verwendung von Editoren über die X11-Weiterleitung hat sich ebenfalls als problematisch erwiesen. Auch mit archaischen Texteditoren wie Vim oder Emacs kann ich meine Bedürfnisse nicht erfüllen. Sie könnten dies tun, aber ich bevorzuge die Verwendung anderer Textbearbeitungssoftware.

Die Verwendung von SSH-Mounts (FUSE) ist ebenfalls problematisch, es sei denn, sie können auf Anforderung von der Remote-Site ausgelöst werden.

Also was hoffe ich zu erreichen

  • Habe ein paar leicht zu implementierende Shell-Skripte etc., die ich auf einen Remote-Server kopieren kann (nennen wir es mooedit)

  • ich renne mooedit Befehl auf dem Remote-Server, von dem ich über SSH-Verbindung verbunden habe

  • mooedit Sendet ein Signal (über SSH) an meinen lokalen Desktop

  • Auf meinem lokalen Desktop wird dieses Signal erfasst und bestimmt 'a ha! moo möchte eine Datei auf Server X im Ordner Y 'bearbeiten

  • Datei wird per SFTP auf den lokalen Desktop übertragen (/ tmp)

  • Die Datei wird in einem netten GUI-Texteditor auf dem lokalen Desktop geöffnet

  • Wenn Sie auf Speichern klicken, werden auf dem lokalen Desktop Änderungen in der Datei bemerkt und die resultierende Datei wird von SFTP an den Server zurückgesendet

Die Frage ist:

  • Welche Signalmechanismen bietet SSH dafür?

  • Irgendwelche anderen Methoden, um einen lokalen Texteditor für eine entfernte SSH-Datei auszulösen?

Mikko Ohtamaa
quelle
1
Das ist keine Frage.
P.T.
5
Das Wort ist archaisch und sie sind es nicht. Sowohl Vim & amp; Emacs kann eine entfernte Datei einfach mit eingebauten Befehlen bearbeiten.
lornix
2
@MikkoOhtamaa: Ihr Workflow ist unklar: Die Serverseite teilt Ihrem lokalen Editor mit, dass der Server eine Datei bearbeiten soll.
akira
@akira Ich habe einige Sätze umformuliert ... klar jetzt?
Mikko Ohtamaa
1
Vim und emacs als archaisch zu bezeichnen und einen GUI-Texteditor über ssh verwenden zu wollen, ist kein Problem.
Bruno9779

Antworten:

3

Sie können verwenden rsub und Kumpel um entfernte Dateien in Ihrem lokalen Sublime Text über ssh zu bearbeiten.

Du musst

  • installiere das rsub Paket in Sublime Text (mit Package Manager)
  • forward port 52698 via ssh benutzen ssh -R 52698:localhost:52698 ... oder setze deine config

    • erstellen / bearbeiten ~/.ssh/config und chmod 600 ~/.ssh/config (um ein Berechtigungsproblem zu vermeiden)
    • add (Ersetzen Sie SERVERNAME durch Ihren Server, den Sie auch verwenden können * ):

Host SERVERNAME
  RemoteForward 52698 127.0.0.1:52698

  • Stellen Sie mit eine Verbindung zu Ihrem Server her ssh
  • installiere das rsub Skript auf dem entfernten Rechner:

sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rsub

Dann kannst du machen rsub file in der SSH-Sitzung und es wird geöffnet file in Ihrem lokalen ST-Editor.

Funktioniert mit ST2 / ST3 und Sie können auch sudo rsub file!

laktak
quelle
1

Dies ist eine alte Frage, aber noch ohne klare Antwort. Sie erwähnen jedoch nicht, von welchem Desktop Umgebung, die Sie bearbeiten möchten von ? An einer Stelle erwähnen Sie WinSCP; klar Windows, auf der anderen Seite ist Cyberduck ein Mac-Programm.

Angenommen, Sie arbeiten von einem Mac aus. Der ehrwürdige BBEdit ist zwar nicht so "sexy" wie Sublime und hat vor dem TextMate noch einige Features auf Lager, die die anderen Editoren nicht haben.

Öffnen und Schreiben von Dateien direkt von und zu SSH- und FTP-Servern aus dem Programm heraus. Ich habe diese Funktionalität seit Version 5 oder so verwendet, die jetzt vor 13 Jahren ist. Vor mehreren Leben und immer noch nicht in "modernen" Editoren verfügbar.

http://www.barebones.com/products/bbedit/ (in keiner Weise verbunden, nur ein glücklicher Benutzer seit 1993

axello
quelle
1
Und auf der Windows-Seite kann ich mich daran erinnern, UltraEdit gemocht zu haben, das die gleiche Funktion hat: Öffnen einer Datei über ssh / scp.
axello
0

Ich möchte das Problem der Bearbeitung von Remote-Konfigurationsdateien elegant lösen   …   Alle anderen Methoden zum Auslösen eines lokalen Texteditors für Remote SSH Datei?

Verwenden Sie so etwas wie webmin . Entweder ein vorhandenes Modul oder erstelle einen für Ihre Zwecke.


Aktualisieren:

Es ist möglich, dass Apache eine HTTPS-Seite bereitstellt (über ein Back-End-Skript), die die Textdatei in einem Textbereich anzeigt und verwendet ( Es ist alles Text um einen lokalen Texteditor zu starten. Dies erfordert natürlich einige Sorgfalt in Bezug auf die Sicherheit.

RedGrittyBrick
quelle
Behebt webmin irgendwie das Problem, einen lokalen Texteditor zu starten?
Mikko Ohtamaa
@MIkko: Ja, sofern Sie den Inhalt einer entfernten Textdatei lokal (in Ihrem lokalen Webbrowser) bearbeiten können. Wenn Sie die GUI eines lokalen Browsers nicht berücksichtigen textarea Widget (normalerweise zum Bearbeiten von Text verwendet) oder ein spezielles Set anderer Widgets, ein geeigneter "Texteditor", müssen Sie woanders suchen.
RedGrittyBrick
Ich möchte einen echten Editor verwenden, nicht textarea wie es Mist für jede ernsthafte Entwicklung ist. Also die Frage an erster Stelle.
Mikko Ohtamaa
@Mikko: Wie gesagt, probier sowas Es ist alles Text oder Texteditor Überall , Sie können Ihren bevorzugten Editor zum Bearbeiten von Textfelddaten verwenden. Ich benutze vim, um Text in Textbereichen auf Webseiten zu bearbeiten.
RedGrittyBrick
Das klingt nach einem schrecklichen Sicherheitsalptraum.
nathancahill