Zum Inhalt springen

PERL: Subroutine auf entferntem Server


Empfohlene Beiträge

Hallo Community.

Ich habe mal wieder ein kleines Problem an dem ich nicht weiterkomme.

Und zwar hab ich jetzt ein Programm geschrieben, mit verschiedenen Subroutinen, die alle lokal ausgeführt werden können.

Das ganze schaut dann in etwa so aus:


#!/usr/bin/perl

if ($ARGV[0] eq "intern") { pfad() }

elsif ($ARGV[0] eq "extern") {

   qx(rsh server10 -l toor "    ???    ");

}


sub pfad {

   qx(echo $PATH);

}

Wie mache ich das jetzt, dass ich die Routine auf dem entfernten Rechner ausführe, ohne eine neue Perl-Datei in einem Verzeichnis auf dem Server anzulegen, welche diese Routine beinhaltet??

Kann ich diese Routine irgendwie mitgeben?

Vielen Dank im Vorraus && Gruß

starbuck11

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie mache ich das jetzt, dass ich die Routine auf dem entfernten Rechner ausführe, ohne eine neue Perl-Datei in einem Verzeichnis auf dem Server anzulegen, welche diese Routine beinhaltet??

Am besten nicht per rsh, denn dort werden die Daten unverschluesselt uebertragen. Schau dir besser mal Net::SSH an. Wenn du dir per ssh-keygen einen Schluessel erstellst und ihn nach .ssh/authorized_keys auf den entfernten Rechner laedst, kannst du dich verschluesselt ohne Passwort dort anmelden. Per Net::SSH kannst du dann problemlos Befehle absetzen.

Da es dir anscheinend nur darum geht, den Pfad auszugeben, brauchst du zumindest lokal nicht noch extra einen Systemaufruf. Du hast auf den Pfad Zugriff ueber $ENV{PATH} (falls es sich um eine Shell handelt, die diese Variable verwendet).

Per Net::SSH koenntest du '/usr/bin/env' aufrufen lassen um dir die gesamte Umgebung zu bekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Problem ist, dass die "Net::"-Module nicht installiert sind und ich keine Root-Rechte für die Server habe, ergo die Module nicht installieren kann SSH/Telnet. Die Verschlüsselung spielt in meinem Fall nur eine sekundäre Rolle.

By the way... würde ich nicht wieder vor dem selben Problem stehen, wenn ich eine Secure-SHELL aufmache, dass ich die Routine nicht entfernt ausführen kann?! (Secure-Shell ist ja nur eine alternative zur Remote-SHELL)

Für das Skript geht es mir nicht nur um den Pfad, sondern um eine Routine, die etwa 100 Zeilen lang ist. Ich wollte das ganze nur etwas abkürzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Problem ist, dass die "Net::"-Module nicht installiert sind und ich keine Root-Rechte für die Server habe, ergo die Module nicht installieren kann SSH/Telnet.

Kein Hindernis fuer Perl - Installing Perl Modules as a Non-Root User LG #139

Die Verschlüsselung spielt in meinem Fall nur eine sekundäre Rolle.

Wenn jemand boese ist und ein Gateway auf Level 7 mitloggt, hat der uebelwollende Mensch Zugriff auf das System. Willst du das wirklich? :eek

Für das Skript geht es mir nicht nur um den Pfad, sondern um eine Routine, die etwa 100 Zeilen lang ist. Ich wollte das ganze nur etwas abkürzen.

Wenn es dir nicht nur um den Pfad geht, dann verwende IPC::PerlSSH (auch wenn ich von solchen Methoden abraten wuerde). Dafuer wirst du allerdings zumindest Perl auf der entfernten Maschine brauchen. Das Grundprinzip sieht etwa so aus:

echo dein-routinen-quellcode | ssh user@host 'perl -e'

Unix

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...