AA_robots_123rf-6682127_DmytroDemianenko.jpg

© Dmytro Demianenko, 123rf.com

Mit PAC auf entfernte Rechner zugreifen

Kontaktfreudig

PAC verhilft Linux-Admins zu einem schönen Leben: Das pfiffige Werkzeug macht nicht nur den Zugriffe auf entfernte Rechner bequemer, sondern automatisiert dabei gleich noch gängige Arbeitsabläufe.

Linux und das schöne Leben offerieren oft viele Alternativen. Eine bequeme Lösung für den Fernzugriff auf andere Rechner bietet der SSH-, Telnet- und FTP-Client PAC. Der Perl Auto Connector [1], so sein voller Name – steht unter der GPLv3 und wurde von David Torrejon Vaquerizas in Perl implementiert. Der Client für den Fernzugriff merkt sich bereits benutzte Verbindungen, kann mit Proxies umgehen und kommt mit Expect klar, einem in TCL geschriebenen Werkzeug, das beim Automatisieren von Aufgaben in Terminals hilft [2]. Dank Expect lassen sich Tunnel oder mehrere SSH-Verbindungen komfortabel aufbauen sowie Passworteingaben automatisieren.

Erste Schritte

Ubuntu-Anwender haben es leicht: Sie brauchen lediglich die /etc/apt/sources.list um das PAC-Repository [3] zu erweitern. Die entsprechende Zeile lautet:

deb http://archive.getdeb.net/ubuntu lucid-getdeb apps

Anschließend installieren die beiden Aufrufe apt-get update und apt-get install pac das Werkzeug mitsamt allen Abhängigkeiten. Nutzer anderer Distributionen haben einen ungleich steinigeren Pfad vor sich, denn sie müssen auf die Quelltexte zurückgreifen und die Abhängigkeiten händisch auflösen, was in eine zeitraubende Beschäftigungstherapie ausarten kann.

Erfolgreich installiert, findet sich ein Eintrag für PAC im Menü, alternativ lässt sich die Anwendung mittels des Aufrufs pac von der Kommandozeile starten. Übergeben Sie dem Befehl dabei gleich noch ein -start_tray, verkrümelt sich PAC in das Desktop-Panel.

Der Perl Auto Connector präsentiert sich mit einer aufgeräumten Oberfläche, die sich intuitiv bedienen lässt. Das ist auch gut so, denn außer einer rudimentären Manpage existiert keine Hilfe für die Anwendung. Bevor PAC zu irgendeinem Rechner Verbindungen herstellt, müssen Sie eine Gruppe für eine sogenannte Umgebung anlegen. Bei einer solchen Umgebung kann es sich um das heimische Netzwerk, die eigene Serverfarm oder die Rechner im Betrieb handeln.

Sobald eine Gruppe existiert, können Sie ihr Rechner zuordnen. Neben IP-Adresse, Nutzername und Passwort möchte PAC auch wissen, ob er die Verbindung zu Gegenstelle via SSH, FTP oder Telnet aufbauen soll und wie Sie den zugehörigen Tab benennen wollen (Abbildung 1). Haben Sie die Angaben gemacht und gespeichert, steht einer Verbindungsaufnahme nichts mehr im Weg. Nach einem Klick auf Verbinden öffnet sich ein Terminalfenster, in dem der Prompt des entfernten PCs auf Eingaben wartet.

Abbildung 1: Eine neue Verbindung ist in PAC schnell eingerichtet.

Bis hierhin bietet PAC noch nichts Besonderes. Eine Option, die das Admin-Leben erleichtert, ist jedoch die Möglichkeit, für jeden Server spezielle Anpassungen vorzunehmen. So können Sie beispielsweise Befehle definieren, die vor und nach der Verbindung auf dem Rechner ausgeführt werden, auf dem PAC läuft. Es lassen sich aber auch eine Reihe Befehle für die entfernte Maschine speichern, die Sie dann per Mausklick ausführen (Abbildung 2). Daneben besteht auch die Möglichkeit, alle Ausgaben des Terminals nach bestimmten Begriffen zu durchsuchen (Abbildung 3) oder gleichartige Server zu Clustern zusammenzufassen und vordefinierte Kommandos auf allen zum Cluster gehörigen Rechnern gleichzeitig aufzurufen (Abbildung 4).

Abbildung 2: Für jeden Server lassen sich oft genutzte Kommandos hinterlegen und per Klick aufrufen.
Abbildung 3: Etwas übersehen? Eine Suchfunktion, die auch reguläre Ausdrücke verarbeitet, kann helfen.
Abbildung 4: Zu Clustern zusammengefasst, machen viele Server nicht mehr Arbeit als eine einzelne Maschine.

Expect

Mit Expect verfügt PAC über ein Feature, das es erlaubt, auf bestimmte Ausgaben der entfernten Rechner zu reagieren und automatisch eine Reihe vordefinierter Befehle abzusetzen. In unserem Beispielnetzwerk befindet sich ein Ubuntu-Server, der über Updatemöglichkeiten informiert, sobald sich jemand anmeldet. Wir wollen PAC so konfigurieren, dass er das entfernte System aktualisiert, sobald Updates vorliegen.

Die entsprechende Meldung des Servers lautet X packages can be updated.. Sobald X größer 0 ist, soll Expect dafür sorgen, dass der entfernte Rechner die Paketlisten aktualisiert (apt-get update) und hinterher neuere Pakete einspielt (apt-get upgrade). Expect nutzt reguläre Ausdrücke, die es mit den Terminalausgaben abgleicht. Der reguläre Ausdruck, der die Ausgabe beschreibt, ob neue Pakete vorhanden sind, lautet:

^[123456789][0123456789]*\ packages\ can\ be\ updated\.

Das bedeutet: Sobald der Server eine Zeile ausgibt, an deren Beginn eine oder mehrere Ziffern (ohne führende Null) stehen, gefolgt von packages can be updated., meldet Expect einen Treffer, der in der Konfiguration hinterlegte Befehl wird ausgeführt.

Da Ubuntu standardmäßig keinen Benutzer root kennt, gilt es Apt-get in Kombination mit Sudo aufzurufen. Folglich müssen Sie Expect anweisen, den String mit der Aufforderung zur Passworteingabe zu erwarten, um dann das Passwort abzusetzen. Sobald das System die Paketlisten aktualisiert hat, erscheint wieder der Kommandozeilen-Prompt – für Expect das Zeichen, jetzt den Upgrade-Befehl zu senden (Abbildung 5).

Abbildung 5: In der richtigen Reihenfolge angegebene reguläre Ausdrücke und Kommandos sorgen dafür, dass der entfernte Rechner viele Aufgaben abarbeitet, ohne dabei mit Eingabeaufforderungen zu stressen.

Hier gilt es die Reihenfolge peinlich genau zu beachten, da die Expect-Anweisungen sonst nicht abgearbeitet werden. In unserem Test fehlte ein erstes <command prompt> – ein Regex, den PAC bereits mitbringt und den Sie mittels Rechtsklick auf das Eingabefeld einfügen können. Das führte dazu, dass Expect sich zunächst weigerte, die regulären Ausdrücke mit den Serverausgaben abzugleichen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...