Wie verwalten Sie Ihre Linux-Boxen aus der Ferne? [geschlossen]

13

ANMERKUNG: Ich habe diese Frage heute Morgen in Bezug auf EC2-Boxen gestellt, aber nur Links zu Tools zum Starten und Stoppen von Instanzen erhalten.

Ich habe ein paar Linux-Boxen, die jede Nacht Aufträge für eines meiner Projekte bearbeiten. Von Zeit zu Zeit muss ich einsteigen, einige Codeänderungen vornehmen, einige Dinge konfigurieren, Dateien verschieben usw.

Mein Toolset für diese Vorgänge ist äußerst sparsam (SSH in die Box, Bearbeiten von Dateien in VIM, WGET-Remotedateien, die ich benötige), und ich vermute, es gibt einen viel besseren Weg, dies zu tun. Ich bin neugierig zu hören, was andere Leute in meiner Position tun.

Verwenden Sie ein Windows-System und ein entsprechendes Remotedesktop, um auf die Box zuzugreifen, oder ist dies die Befehlszeile? Das Verwalten von Windows-Remoteboxen ist trivial, da Sie einfach Remotedesktopdienste einrichten und Dateien über das Netzwerk übertragen können. Gibt es in der Linux-Welt ein Äquivalent dazu?

Führen Sie Ihre Konfigurationsdateiänderungen / Skriptänderungen direkt auf dem Computer durch? Oder haben Sie in Ihrer lokalen Box etwas eingerichtet, um diese Dateien aus der Ferne zu bearbeiten? Oder bearbeiten Sie sie einfach aus der Ferne und übertragen sie dann bei jedem Speichervorgang?

Wie verschieben Sie Dateien zwischen dem Server und Ihrer lokalen Umgebung hin und her? FTP? Eine Art zugeordnetes Laufwerk über VPN?

Ich muss wirklich einige bewährte Methoden für die Verwaltung dieser Boxen implementieren. Vorschläge, um einige der Schmerzen zu beseitigen, wären sehr willkommen!

Jason Kester
quelle
Verwenden Sie nicht FTP, sondern SFTP.
Brad Gilbert
Oder noch besser, verwenden Sie FUSE sshfs .
Cristian Ciupitu

Antworten:

19

Mein Toolset für diese Vorgänge ist äußerst sparsam (SSH in die Box, Bearbeiten von Dateien in VIM, WGET-Remotedateien, die ich benötige), und ich vermute, es gibt einen viel besseren Weg, dies zu tun. Ich bin neugierig zu hören, was andere Leute in meiner Position tun.

Spärlich? Was um alles in der Welt meinst du? Entschuldigen Sie, dass ich schimpfe, aber ssh, vim und wget als schmerzhaft abzutun, ist beinahe beleidigend. Aus Ihrer Frage schließe ich, dass Sie hauptsächlich ein Programmierer für Ihren Tagesjob sind, also verstehe ich die Frage ein bisschen. Aber ehrlich gesagt, würde ich keinen Linux-Administrator einstellen, der mit keinem der drei von Ihnen genannten Tools vertraut ist.

Verwenden Sie ein Windows-System und ein entsprechendes Remotedesktop, um auf die Box zuzugreifen, oder ist dies die Befehlszeile? Das Verwalten von Windows-Remoteboxen ist trivial, da Sie einfach Remotedesktopdienste einrichten und Dateien über das Netzwerk übertragen können. Gibt es in der Linux-Welt ein Äquivalent dazu?

Für Administratoraufgaben verwende ich niemals eine X-Umgebung. Sie brauchen keine, sie beanspruchen nur Systemressourcen und sind meistens ein Hindernis anstelle einer Hilfe. Die meisten GUI-Konfigurationstools (nun ja, praktisch alle, wirklich) bieten nur eine Teilmenge der Konfigurationsoptionen an, die Sie in einer Konfigurationsdatei mit vim festlegen können.

Das Verwalten einer Linux-Box ist nicht weniger trivial als das Verwalten einer Windows-Box. Es dauert nur einige Zeit, um eine anständige Qualifikation zu erlangen.

Und ein Netzwerk-Datei-Transfer-Äquivalent? Viel. scp, sftp, ftp, nfs, cifs / smb (Windows-Dateifreigabeprotokolle) und einige mehr.

Führen Sie Ihre Konfigurationsdateiänderungen / Skriptänderungen direkt auf dem Computer durch? Oder haben Sie in Ihrer lokalen Box etwas eingerichtet, um diese Dateien aus der Ferne zu bearbeiten? Oder bearbeiten Sie sie einfach aus der Ferne und übertragen sie dann bei jedem Speichervorgang?

Kommt drauf an was ich mache. Die meisten Dinge mache ich direkt in den Konfigurationsdateien auf dem Computer (zum Entwickeln und Testen von Boxen) und schiebe die Datei dann in einen Konfigurationskanal auf unserem Satellitenserver. Danach stelle ich die Datei direkt auf allen Servern bereit (für Produktionsboxen) ). Vim ist wirklich ein Schatz. Das heißt, wenn Sie herausfinden, wie Sie es richtig verwenden.

Wie verschieben Sie Dateien zwischen dem Server und Ihrer lokalen Umgebung hin und her? FTP? Eine Art zugeordnetes Laufwerk über VPN?

scp den ganzen Weg und vielleicht etwas sftp, und ich schlage vor, Sie tun es auch. Verwenden Sie niemals FTP, um vertrauliche Dateien (z. B. Konfigurationsdateien) über ein öffentliches Netzwerk zu verschieben. Ich verwende kein zugeordnetes Netzwerk, da sich alles, was ich brauche, auf dem Server befindet. Wenn Sie hier c-Dateien und nicht Konfigurationsdateien meinen, verwende ich normalerweise so etwas wie svn oder git und drücke dann meine Änderungen in die Box.

Ich muss wirklich einige bewährte Methoden für die Verwaltung dieser Boxen implementieren. Vorschläge, um einige der Schmerzen zu beseitigen, wären sehr willkommen!

Sie benutzen sie bereits: ssh, scp, wget und vim. Das sind keine Schmerzen. Es kann ein paar Kinderkrankheiten geben, während Sie herausfinden, wie stark sie sind. Um die Windows-Analogie wieder herzustellen, fühle ich mich ernsthaft behindert, wenn ich eine Windows-Box verwenden muss. Für Sie ist es umgekehrt. Es ist genau das, was Sie gewohnt sind. Also, gib ihm etwas Zeit und es wird zu dir kommen.

wzzrd
quelle
12

Sie haben bereits ssh, vim und wget erwähnt, was wesentlich und perfekt ist. Einige zusätzliche Tools, die das Leben erleichtern können:

1. GNU Screen / Byobu

GNU Screen ist ein kostenloser Terminal-Multiplexer, mit dem ein Benutzer auf mehrere separate Terminalsitzungen in einem einzelnen Terminalfenster oder einer Remote-Terminalsitzung zugreifen kann. Er ist nützlich, um mehrere Programme über die Befehlszeile zu verarbeiten und Programme von der Shell zu trennen, die gestartet wurde das Programm." (Von der GNU_Screen-Seite auf Wikipedia)

Ein Hauptvorteil ist, dass Sie ein oder mehrere virtuelle Terminals haben können, die sich in genau dem Zustand befinden, in dem Sie sie verlassen haben, als Sie zurückgekommen sind (dh sich über ssh neu anmelden). Dies ist auch gut, wenn Ihre Verbindung aus irgendeinem Grund unterbrochen ist.

Der Bildschirm funktioniert unabhängig von der Software, mit der Sie eine Verbindung zur Box herstellen (er befindet sich auf dem Server), sodass er gut mit Putty oder den meisten anderen Terminalsoftware kombiniert werden kann.

Dieser Artikel zeigt einige nette Dinge, die Sie damit machen können: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/

Eine gute Alternative ist byobu, das in einigen Distributionen bereits vorkonfiguriert ist: http://byobu.co/


2. Mitternachtskommandant

Ein konsolenbasiertes grafisches Browsing-Tool zum Anzeigen und Bearbeiten von Dateien und Verzeichnissen.

Kann auch sichere Fernübertragungen durchführen. Es gibt einen eingebauten FISH- und FTP-Client.

Das bedeutet, Sie haben zwei Textfenster nebeneinander in einer Befehlszeilenkonsole und eines zeigt Ihre Remote-Box und das andere, wo immer Sie sie anschließen (dies kann auch Ihr lokales System sein). Dann können Sie beide Dateisysteme nebeneinander und navigieren Markieren oder untersuchen Sie einzelne Dateien oder Dateibäume und kopieren oder verschieben Sie sie zwischen den Speicherorten. FISH ist sicher, FTP nicht. Sehr leistungsfähig und einfach für Anfänger.


3. rsync

Für eine schnelle, sichere und zuverlässige Dateiübertragung und Synchronisierung zwischen verschiedenen Standorten


4. VCS

Verwendung eines verteilten Versionskontrollsystems wie Basar, Quecksilber oder Git, um den Code zu aktualisieren. Github oder Bitbucket bieten kommerzielles Code-Hosting an, dies ist jedoch nicht erforderlich. Sie können es auch effizient auf Ihren eigenen Computern einsetzen.

Joseph Kern: Können Sie erläutern, wie Sie git genau für die Remote-Konfigurationsorganisation verwenden?


5. Terminal-Clients

Auf Unix-ähnlichen Systemen sind sie bereits an Bord, unter Windows können Sie Putty, Tera Term, Mind Term oder Pandora verwenden. Oder machen Sie eine Cygwin-Installation und ssh von den Cygwin-Terminel-Fenstern zu den Remote-Boxen (das hat mehr Vorteile, aber das ist eine Frage, was Sie bevorzugen).


6. Tunneling und Port Forwarding

Es kann hilfreich sein, bestimmte Ports sicher an Ihren lokalen Computer weiterzuleiten. Beispielsweise könnten Sie den mysql-Port TCP 3306 oder den Postgres-TCP 5432 weiterleiten und ein Datenbankverwaltungstool lokal installieren.

Sie können Tunnel aus Windwos-Maschinen mit Putty (oder auf der Kommandozeile basierend mit dem Plink des kleinen Bruders) erstellen, mit Cygwin und Mindterm können Sie auch Port-Forwarding durchführen. Wenn Sie sich lokal auf einem Unix-ähnlichen Computer befinden, können Sie ssh odr plink verwenden, um ein solches Tunneling zu erstellen.

Um ein stabileres und dauerhafteres Tunneln für verschiedene Ports zu erreichen, empfehle ich OpenVPN. Die Tunnelmethode "Pre-Shared-Key" von Punkt zu Punkt ist nicht so schwer zu installieren.


7. Haben Sie ein lokales Unix-ähnliches System

Wenn Ihr lokaler Computer bereits über einen Mac verfügt, können Sie eine lokale Shell öffnen. Wenn Ihre Workstation auf Windows basiert, kann es hilfreich sein, einen lokalen Unix-ähnlichen Server zu erstellen, der sich im selben lokalen Netzwerk befindet. Dies kann eine andere Maschine in einem anderen Raum sein, die an denselben Router oder Switch angeschlossen ist. Wenn Sie nur eine Maschine möchten, können Sie den kostenlosen VMware-Server installieren und eine virtuelle Maschine erstellen, vorzugsweise dasselbe Betriebssystem wie Ihre Remote-Maschine. Wenn Sie einen Samba-Server darauf installieren, können Sie die Samba-Freigaben von Ihrem Desktop aus "netto verwenden".

Wenn Sie einen SSH-Server auf dem lokalen Server haben und Port 22 auf Ihrem Router dafür öffnen, können Sie in Ihr lokales System sshen, wenn Sie sich außerhalb befinden.

Sie können Tunnel für entfernte Maschinen erstellen oder Dateien und ganze Dateibäume mit rsync übertragen und synchronisieren. Sie können es zum Testen, für VSC, für die lokale Entwicklung, als lokalen Webserver für Schulungszwecke verwenden.

Sie können Sicherungen von Remote-Computern abrufen. Sie können lokale Cron-Jobs erstellen, die Backups automatisch durchführen (z. B. Datenbanken, die Sie regelmäßig lokal speichern möchten).


8. X Remote-GUI

Wenn Sie auf einem Linux-ähnlichen System arbeiten, ist es auch möglich, GUI-Anwendungen auf Ihren Linux-Servern auszuführen, die die GUI auf Ihrem lokalen Computer zeichnen. Dies kann ein grafisches Tool zum Vergleichen von Dateien oder fast alles sein, was Sie wollen.

Obwohl es nicht sehr häufig vorkommt und in vielen Fällen keine GUI-Software für die Linux-Box-Administration erforderlich ist, kann es in einigen Fällen hilfreich sein, wenn Sie können.

Stellen Sie auf dem Remote-Computer sicher, dass in / etc / ssh / sshd_config diese Zeile vorhanden ist:

X11Forwarding Yes

Starten Sie den ssh-Server mit neu

/etc/init.d/sshd restart

Dann melden Sie sich das nächste Mal mit

ssh -X me@remote-box

Sie werden einen X-Tunnel haben, versuchen, xclock zu Testzwecken auf dem Remote-Server zu installieren und in der xclocksoeben erwähnten ssh-Sitzung auszuführen . Auf Ihrer Linux-Benutzeroberfläche sollte eine einfache x-Uhr für Testzwecke angezeigt werden.

Dies ist auch auf einem Mac möglich, wenn Sie eine lokale X-Umgebung installieren.


9. Wenn Sie eine Reihe ähnlicher Felder oder Aufgaben haben: Verwenden Sie ein Systemkonfigurationstool

Wenn Sie eine Serverfarm haben oder große Cloud-Bereitstellungen mit vielen redundanten oder auf andere Weise gleichen oder ähnlichen Computern durchführen, können Sie dies verwenden.

Wahrscheinlich wäre es nicht sinnvoll, wenn die meisten Boxen einzeln oder mit unterschiedlichen Betriebssystemen oder unterschiedlichen Versionen ausgeführt werden.

Es gibt verschiedene Tools:


10. Stellen Sie Anwendungscontainer mit bereit docker

Dies geht noch einen Schritt weiter. Docker ist ein Open Source-Projekt, das die Bereitstellung von Anwendungen in Software-Containern automatisiert: https://www.docker.io


11. Verwenden Sie Google Compute Engine für die automatische Bereitstellungsverwaltung

https://cloud.google.com/products/compute-engine/

Google bietet Linux-VMs mit sehr aufregenden Möglichkeiten. Mit Tools wie einer RESTful-API, einer Befehlszeilenschnittstelle und einer webbasierten Konsole können Sie schnell große Cluster virtueller Maschinen bereitstellen. Sie können auch Tools wie RightScale und Scalr verwenden, um Ihre Bereitstellung automatisch zu verwalten .

mit
quelle
Ich denke, das ist eine viel nützlichere Antwort als die akzeptierte. MC ist mein bevorzugtes Tool, vor allem, weil Sie sich cd /#sh:<user>@<server>:<directory>auf einem Remote-Computer zum Browsen und zum Übertragen von Dateien anmelden können und weil Sie mit Strg-o vorübergehend zur Konsole wechseln. Ein weiteres Strg-o bringt Sie mit einem Tastendruck zurück in MC!
Gustav Bertram
Der Komfort eines Linux-Desktops bei der Verwaltung von Linux-Servern kann nicht überbewertet werden. Ich sehe zwar wenig Sinn für Midnight Commander ...
Michael Hampton
@Michael Der FISH-Client von mc ist das, was ich oft benutze.
Mit
4

Wenn Sie eine gute Benutzeroberfläche für die Dateiverwaltung über SSH in Windows-Umgebungen suchen, besuchen Sie WinSCP: http://winscp.net

Ich verwalte keine EC2-Instanzen, aber im Allgemeinen versuche ich, wenn mehr als eine Maschine eine Rolle ausführt, ein Skript zu schreiben, um alle ähnlichen Boxen zu bearbeiten, anstatt Änderungen Box-für-Box vorzunehmen .

Ich möchte Puppet ( http://reductivelabs.com/products/puppet/ ) verwenden, da es die Systemadministration mehr zu einer Konfigurationsverwaltungsübung macht. Ich hatte noch nicht die freien Zyklen, um es mir genauer anzusehen, aber ich habe sehr gute Dinge gehört.

Evan Anderson
quelle
4

Sie müssen ein Systemkonfigurations-Management-Tool wie Chef in Betracht ziehen.

Ich verwalte kaum noch Systeme manuell über SSH-Sitzungen. Ich bewahre den gesamten Code für Webanwendungen und Projekte in einem Quellcode-Repository auf, auf das ich von den Systemen aus zugreifen kann, auf denen sie ausgeführt werden, z. B. Websites auf EC2. Wenn Sie in der Cloud arbeiten, ist eine automatisierte Infrastruktur unerlässlich.

Der grundlegende Arbeitsablauf sieht so aus. Zunächst für den Anwendungscode und die Konfigurationsdaten:

  • Klonen / Auschecken von Code aus GitHub oder einem anderen Versionskontroll-Repository.
  • Bearbeiten Sie den Code in meinem bevorzugten Editor auf meiner lokalen Workstation / meinem Laptop.
  • Änderungen festschreiben, in das zentrale Repository verschieben.

Fügen Sie zur Konfiguration Folgendes hinzu:

  • Installieren Sie die Konfigurationsdateien an dem Ort, an dem Chef sie bereitstellen kann.
  • Lösen Sie an den Randknoten einen Chef-Client-Lauf aus oder warten Sie auf das Intervall.

Systeme werden wie Paketinstallationen, Benutzererstellung, aus Vorlagen generierte Konfigurationsdateien usw. konfiguriert.

Ich bearbeite [fast] nie manuell Konfigurationsdateien, Anwendungsdaten oder irgendetwas anderes auf den Remote-Systemen direkt. Änderungen werden über mein lokales Repository vorgenommen und an den Master weitergeleitet. Ich weiß, dass meine Systeme jedes Mal korrekt konfiguriert werden, egal ob ich eine Instanz beenden und neu starten muss.

Dateien, die für die Konfiguration benötigt werden, werden direkt vom Chef-Server bereitgestellt, der lediglich eine Webanwendung ist (merb, läuft in Apache + Passenger). Der Zugang für Kunden wird über die openid-Berechtigung gesteuert.

Meine Konfiguration umfasst Hooks in Nagios und Munin, sodass ich auch die Überwachung und Trendanalyse durchführe, ohne manuell etwas tun zu müssen, um diese einzurichten.

Heutzutage lehnen sich Best Practices an das automatisierte Konfigurationsmanagement an. Wenn Sie immer noch manuell arbeiten, arbeiten Sie zu hart.

jtimberman
quelle
3

Was ist los mit ssh, vim und wget? Den meisten Windows-Benutzern unbekannte Juwelen, meiner Meinung nach. :-)

Manchmal verwende ich gVim aus der Ferne über FTP oder SFTP.

Wenn Sie es vorziehen, die GUI auf dem Linux-Computer zu verwenden, können Sie einen X-Server (siehe Cygwin) auf Ihrem lokalen Host ausführen und Ihre Anzeige über Ihre SSH-Verbindung zurückleiten.

Ich habe nie gedacht, dass eine VPN-Lösung die Kosten oder den Aufwand für die Verwaltung von Linux wert ist.

Wenn Sie die Entwicklung durchführen und Ihre Entwicklungsjobs auf dem Server ausführen müssen, richten Sie einfach einen Versionskontrollclient auf dem Server ein, melden Sie sich remote an, synchronisieren Sie den Client und führen Sie Ihren Prozess aus.

JR Lawhorne
quelle
3

Das Verwalten von Windows-Remoteboxen ist trivial, da Sie einfach Remotedesktopdienste einrichten und Dateien über das Netzwerk übertragen können. Gibt es in der Linux-Welt ein Äquivalent dazu?

Ist das Trolling beabsichtigt?

Remote-Verwaltung von Windows-Boxen ist nicht trivial. Die Remoteverwaltung von Unix-Boxen wurde entwickelt, um remote verwaltet zu werden und sich in einem Netzwerk zu befinden. Für Windows war es eine Schraube an einem System, das nicht von Grund auf für das Leben in einem Netzwerk entwickelt wurde.

Dies ist anekdotisch, aber aus Erfahrung bei verschiedenen Unternehmen ist das Verhältnis von Server zu Sys-Administrator für Linux-Boxen viel, viel höher als für Windows. Ganz einfach, weil die Automatisierung unter Windows nicht trivial ist und eine GUI immer langsamer ist als Skripte. Allerdings gibt es Windows-Administratoren, die die Verwaltung einer Windows-Infrastruktur vereinfachen können. Diese Administratoren sind jedoch sehr selten.

Alle benötigten Tools sind standardmäßig in jeder Linux-Distribution verfügbar. Wenn Sie sich grafisch anmelden möchten, verschwenden Sie nur CPU und Speicher und haben die gleichen Probleme wie bei Windows. Und wie bereits gesagt, sollten Sie für mehr als eine Handvoll Kisten Marionette, Koch, Cfengine oder eines der vielen anderen verfügbaren Werkzeuge in Betracht ziehen.

Schmiere
quelle
1
Ich meinte Trivial in dem Sinne, dass das Verwalten einer Windows-Remotebox genauso funktioniert wie auf meinem Desktop. Es ist kein Lernen notwendig. Das Durcharbeiten von SSH fühlt sich für mich an, als würde man ein Schiff in einer Flasche bauen. Sie haben dieses kleine Loch, durch das Sie den Server mit einer langen Pinzette berühren können. Ich bin wirklich erstaunt, dass ihr alle die Kommandozeilen-Tools, die ich bereits benutze, tatsächlich benutzt und genießt. Ich hatte nur damit gerechnet, eine Fülle von Werkzeugen zu finden, die ich übersehen hatte.
Jason Kester
2

Sie sagen, Sie verwenden SSH, um "ein paar" Boxen zu verwalten. Ich würde ClusterSSH wärmstens empfehlen, wenn Sie die gleichen Befehle für alle gleichzeitig schreiben möchten (vorausgesetzt, sie haben einen ähnlichen Zweck).

http://www.linux.com/learn/tutorials/413853:managing-multiple-linux-servers-with-clusterssh

Die Verwendung ist so einfach wie "cssh -l Benutzername Clustername", wodurch viele UXTERM-Fenster geöffnet werden, die Sie alle auf einmal oder separat verwalten können. Der Cluster wird durch eine Liste von IPs in einer Konfigurationsdatei definiert. Das einzige, was fehlt, ist die X-Unterstützung, soweit ich weiß.

BEARBEITEN: Ich bin auf Terminator umgestiegen, da das Layout mit mehreren Terminals einfach gespeichert und wiederhergestellt werden kann. Außerdem erhalten Sie bei Bedarf 10 simultane X-Tunnel. Erleichtert die gleichzeitige Konfiguration von Server- und Clientcomputern.

Außerdem ist Fabric praktisch, wenn ich Software-Updates auf meinen Clients vornehme. Im Grunde genommen ersetzt es alle ZIP- / SCP- / Unzip- / CP-Dateien.

lahjaton_j
quelle
1

Ich benutze:

  • SSH - Für den Zugriff
  • SCP - Kopieren von Dateien
  • SSHFS - Wenn ich ein Laufwerk oder Verzeichnis mounten muss
  • git - Konfigurationen speichern

Das Versionskontrollieren meiner Configs war wahrscheinlich das klügste, was ich je gemacht habe. Ich verwende so oft wie möglich SSH-basierte Tools, um den Verwaltungsaufwand und die Angriffsfläche zu verringern.

Momentan sind alle meine Git-Repos lokal. In Zukunft werde ich die Configs auf Remote-Repos verschieben.

Joseph Kern
quelle
1

Vergessen Sie nicht, Webmin zu verwenden , eine webbasierte Oberfläche für die Systemadministration unter Unix / Linux.

Brian
quelle
0

SSH hat mir immer gereicht. Es gibt andere Optionen X11 ist im Wesentlichen ein Remote-Desktop, obwohl er von Natur aus unsicher ist, da er allein nicht verschlüsselt ist. Es kann jedoch über eine SSH-Verbindung getunnelt werden (und Sie haben den Vorteil, dass Sie keine zusätzlichen Ports öffnen müssen). Dies setzt natürlich voraus, dass Sie eine X-Umgebung auf dem Server installiert haben.

SFTP (FTP über SSH, so dass auch hier keine zusätzlichen Ports geöffnet werden müssen) kann verwendet werden, um Dateien auf dem Server abzulegen, anstatt sie abzurufen. Ein guter Windows-SFTP-Client ist unter http://filezilla-project.org/ zu finden.

TrueDuality
quelle
0

Ich gehe in die Box und ändere Änderungen in der Kommandozeile und mit Editoren wie vi / nano, wenn die Änderung einfach ist. Für komplexere Änderungen an Dateien, wie das gleichzeitige Bearbeiten mehrerer Quellcodes, verwende ich BBEdit unter Mac OS X. Es kann über SCP auf das Dateisystem zugreifen. Ich bin sicher, dass es einen solchen Editor für Windows und Linux gibt. sshfs ist eine Möglichkeit, mit ssh remote auf Ihr Dateisystem zuzugreifen.

Radius
quelle
0

Auf jeden Fall PuTTY; Neben dem SSH-Client gibt es auch einen Windows-basierten SCP-Client.

RainyRat
quelle
0

Kommandozeile über ssh für Linux (da nicht einmal X11 installiert ist) und eine Mischung aus ssh und ARD für meine Apple-Rechner.

Beachten Sie, dass ich zum Übertragen von Dateien niemals Apple Remote Desktop verwende, da AFP über TCP lächerlich langsam ist . Ich benutze nur scp.

msanford
quelle
0

Wenn Sie einen grafischen Remotezugriff wünschen, möchten Sie mit ziemlicher Sicherheit VNC einrichten.

Wenn Sie Ihre Dateien remote über SSH bearbeiten möchten, haben Sie einige Optionen:

  • Wenn Sie KDE-Tools (Kate, KDevelop) verwenden, verwenden Sie das Fischprotokoll .
  • Richten Sie FUSE so ein , dass das Remote-Volume (automatisch) aktiviert wird.
  • Verwenden Sie muCommander (plattformübergreifend, grafisch mc), um Ihre Dateien vor und zurück zu verschieben
  • Einige Texteditoren (z. B. TextWrangler auf dem Mac) unterstützen das Abrufen von Dateien über ssh und das Hin- und Herbewegen von Dateien

Nachdem Sie Ihre Datei bearbeitet haben, können Sie mit SSH beispielsweise mit dem Kompilieren beginnen.

Eine weitere zu berücksichtigende Sache ist die Verwendung eines Versionskontrollsystems. bzr ist wirklich nett; Es ist einfach einzurichten und einfach zu bedienen. Sie könnten an einem Computer arbeiten, das Update pushen, das Update auf Ihrem Server herunterladen, Befehle ausführen und zurücksetzen, wenn etwas schief geht.

Clinton Blackmore
quelle
0

SSH erledigt die meiste Zeit die Arbeit. Das Erlernen der verfügbaren Befehlszeilentools ist Ihre Zeit wert. Wenn es GUI-Tools gibt, die ich verwenden möchte, verwende ich nur VNC .

Zum Verschieben von Dateien mounte ich normalerweise eine CFIS / SAMBA-Freigabe auf meinem lokalen Computer.

jjclarkson
quelle
0

Bei einfachen Änderungen erledigen SSH und SCP den Trick. Wenn Sie Änderungen an einer größeren Anzahl von Computern vornehmen müssen, sollten Sie sich ein Konfigurationsverwaltungssystem ansehen. Es kann den Dienst starten / stoppen, den Inhalt von Konfigurationsdateien ändern und sicherstellen, dass sich Ihre Systeme in einem bekannten Zustand befinden.

Ich bevorzuge Bcfg2 aber Puppet und CFEngine sind sehr beliebt.

Ich habe Bcfg2 stündlich auf allen meinen Servern ausgeführt, obwohl es auch manuell ausgeführt werden kann. Es gibt ein zentrales versionskontrolliertes Repository für alle Systemkonfigurationsdateien, sodass wir alle vorgenommenen Änderungen nachverfolgen können. Das System funktioniert sehr gut und ist ein großer Schritt weiter, als man sich manuell bei Servern anmeldet und Dinge optimiert.

Kamil Kisiel
quelle
0

Die Verwaltung von Windows-Systemen war schon immer "schwer": Das heißt, es ist eine vollständige Fensterumgebung erforderlich, für die entweder ein Standort oder eine netzwerklastige Anwendung wie Remote Desktop oder VNC erforderlich ist.

UNIX wurde mit Blick auf die Vernetzung entwickelt - daher sind die Tools für die Arbeit über das Netzwerk konzipiert und sehen nicht besonders hübsch aus. Auf einem UNIX-Server sollte niemals diese Windows-Umgebung (normalerweise X11) eingerichtet sein.

Die minimalistische Schnittstelle von SSH, wget und vim ist für das Netzwerk viel förderlicher - vi wurde in der Tat für eine 300-Baud-Modemleitung entwickelt.

Es gibt in der Tat grafische Tools, die Sie bei der Arbeit mit entfernten UNIX- und Linux-Systemen unterstützen (wsp war eines; gvim ist möglicherweise ein anderes).

Die übliche Art der Verwaltung von UNIX-Systemen besteht darin, sich am Computer anzumelden und auf dem Computer selbst zu arbeiten. Es ist nicht erforderlich, Dateien zu verschieben, nur um sie zu bearbeiten. Das Einzige, woran man sich erinnern muss, ist sicherzustellen, dass die Konfiguration gut ist und sie zu testen, wo es möglich ist.

Mei
quelle
0

SSH zuzugreifen, scp, wenn ich eine begrenzte Anzahl von Dateien übertragen muss. Freigegebene Verzeichnisse über SMBFS / SAMBA, wenn wir es WIRKLICH brauchen. Normalerweise ist es Zeitverschwendung. Einige unserer weniger * nix-kompetenten Mitarbeiter verwenden webmin, das für den lokalen Subnetzzugriff über HTTPS gesperrt ist.

Zenham
quelle
0

Shellinabox

Shell In A Box (ausgesprochen als Shellinabox) ist ein webbasierter Terminal-Emulator, der von Markus Gutschke entwickelt wurde. Es verfügt über einen integrierten Webserver, der als webbasierter SSH-Client an einem bestimmten Port ausgeführt wird und einen Web-Terminal-Emulator auffordert, auf Ihre Linux Server-SSH-Shell mit einem beliebigen AJAX / JavaScript- und CSS-fähigen Browser aus der Ferne zuzugreifen und diese zu steuern, ohne dass dies erforderlich ist alle zusätzlichen Browser-Plugins wie FireSSH. - http://www.tecmint.com/shell-in-a-box-a-web-based-ssh-terminal-to-access-remote-linux-servers/

Terminalemulation auf dem Client

AjaxTerm ist ein ähnliches Programm wie Anyterm von Antony Lesuisse, geschrieben in Python. Shell In A Box ist ein ähnliches Programm wie Anyterm von Markus Gutschke, geschrieben in C. Anders als Anyterm und Ajaxterm wird die Terminalemulation im Browser und nicht auf dem Server ausgeführt - http://anyterm.org/demos.html#secid2249226

Butterfly ist auch ein Webserver (in Python geschrieben), der ein voll ausgestattetes clientseitig emuliertes Web-Terminal betreibt.

Pro Backup
quelle
1
Nooooo !! Shell in a Box ist so unsicher!
Ewwhite
Haben Sie Butterfly schon einmal benutzt?
Pegues