[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jun 2002
    Beiträge
    29

    Remote call auf Linux von CL aus?

    Wir suchen nach einer Lösung, um aus einem CL heraus ein Programm oder Skript auf einem fernen Linux System aufzurufen.

    Was wir bislang erfolglos versucht haben, ist der Weg über RUNRMTCMD, da der rexecd auf Linux Probleme mit der Authentifizierung macht.

    Hier im Forum habe ich erfahren, dass man Telnet nicht skripten kann. Dieser Weg scheidet also auch aus.

    Das Absetzen eines Remote-Befehls über FTP wird von den aktuellen Distributionen auch nicht mehr unterstützt.

    Nun wäre die Idee gewesen, ein PHP Skript über den HTTP-Server von Linux aufzurufen, aber wie lässt sich das in einem CL bewerkstelligen?

    Für Lösungsvorschläge wären wir sehr dankbar!

  2. #2
    Registriert seit
    Jul 2005
    Beiträge
    1.053
    Hm,

    Das spricht nicht für die Distribution

    Was ist mit sftp oder scp


    Gruß AS400.lehrling

  3. #3
    Registriert seit
    Nov 2002
    Beiträge
    173
    Mahlzeit!

    Das mit der Authentifizierung sollte eigentlich relativ problemlos funzen.

    Schau doch mal ins Logfile des rexecd auf deiner Linus Kiste, die Fehlernachrichten sind i.d.R. relativ aussagekräftig.

    Eine beliebte Fehlerquelle ist der Penis pervers Lookup äääh DNS Reverse Lookup. Meines Wissens ist bei den meisten Distributionen der rexecd so eingestellt, dass er per(vers) Lookup überprüft, ob denn die Kombination aus IP-Adresse und Hostname stimmt. Simple Sicherheitsmassnahme...

    Wenn Du keinen reverse Lookup für deine AS/400 (jawohl, SO heisst die Kiste, und nicht "Ei"!!!) in deinem DNS eingetragen hast verweigert der rexecd die Zusammenarbeit. Das Luder!

    Grüsse

    Martin

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... der Hesse hats da einfacher, bei uns wird die Frage, wie die Kiste heißt mit "Ei AS400" beantwortet...

    Zitat Zitat von bateau Beitrag anzeigen
    ...AS/400 (jawohl, SO heisst die Kiste, und nicht "Ei"!!!)
    Martin
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Jun 2002
    Beiträge
    29
    Vielen Dank für den Tipp mit dem DNS Reverse Lookup. Leider führte der entsprechende Eintrag auch nicht zum Erfolg.

    Bei jedem Versuch, ein RUNRMTCMD abzusetzen, erhalten wir im auth.log auf Linux-Seite folgende Meldungen:

    Oct 10 22:55:25 npvvm011 in.rexecd[7564]: PAM unable to dlopen(/lib/security/pam_unix_auth.so): /lib/security/pam_unix_auth.so: cannot open shared object file: No such file or directory
    Oct 10 22:55:25 npvvm011 in.rexecd[7564]: PAM adding faulty module: /lib/security/pam_unix_auth.so


    (auf AS/400 Seite kommt gar kein Feedback - weder im Joblog noch als Spoolfile)


    Mittlerweile haben wir zwar eine SSH Verbindung zustande gebracht, aber um diese unter Umgehung der Passworteingabe in ein CL packen zu können, müssten bei jedem aufrufenden AS/400 Benutzer die Keys im Home-Verzeichnis abgelegt werden (wenn ich es richtig verstanden habe). Auch kein wirklich eleganter Weg, zumal ich nicht bei jedem neu angelegten User darauf achten möchte.

    Ich bin schon kurz vorm Haareraufen - warum müssen heutzutage die simplen Dinge so schwierig sein?

  6. #6
    Registriert seit
    Nov 2002
    Beiträge
    173
    Aaah kuck, sag ich doch, dass in den Logfiles was brauchbares zu finden ist.

    Wenn die Kiste dir sagt, dass eine Datei fehlt, dann liegt es in der Regel daran... dass eine Datei fehlt :-)

    Aus Spass wurde Ernst : Deine Linux-Installation ist nicht ok. Den sogenannten "Pluggable Authentication Modules" (PAM) fehlt eine Komponente.

    Wenn Du rausfindest, in welchem rpm- bzw. deb-Paket diese zu finden ist (von Distribution zu Distribution kann das unterschiedlich sein), brauchst Du i.d.R. dieses nur zu installieren. Ggf. wird eine "-force" Option benötigt, denn wenn es laut rpm/deb Datenbank schon installiert ist, dann weigert das System sich, dieselbe Version nochmals drüberzuhauen.

    Via SSH ist natürlich auch eine schöne Alternative, denn Da kannst Du statt User-/Passwort-Authentication ganz einfach über die authorized_keys fahren :

    1.) Auf der AS/400 nen User einrichten, mit dem die Verbindung bzw. die Jobs laufen sollen.
    2.) Auf der Linux Möhre nen user mit demselben Namen einrichten
    3.) In der Kuh-Shell oder der PASE Shell mittels ssh-keygen ein private/public key pair ohne Passphrase generieren und im .ssh Verzeichnis des unter 1.) angelegten Users speichern (siehe auch IBM Software Knowledge Base, da gibts irgendwo nen Artikel, der das relativ gut beschreibt)
    4.) Den soeben angelegten public key auf die Linux Möhre kopieren, am besten einfach erstmal die ganze id_rsa.pub oder wie auch immer per FTP oder SCP rüberkopieren
    5.) Den Inhalt der public key Datei per cat im Append-Modus zur .ssh/authorized_keys2 Datei des Zielusers hinzufügen :
    cat id_rsa.pub >> authorized_keys2

    Jetzt sollte, wenn man mit dem unter 1.) erstellten User angemeldet ist, jegliche SSH-Verbindung zur Linux Möhre ohne Authentifizierung (aber natürlich SSH-verschlüsselt) laufen.

    Ist ein bisschen Arbeit am Anfang, aber danach umso schöner. Ungefähr so, wie wenn man sich mim diggn Hammer auf die Wurstfinger kloppt und dann der Schmerz nachlässt.... schöööön

    Grüsse

    Martin

  7. #7
    Registriert seit
    Jun 2002
    Beiträge
    29
    Vielen Dank für die SSH Anleitung! So in der Art habe ich das auch schon gefunden, aber wie gesagt wäre das bei uns problematisch gewesen, da das CL von vielen unterschiedlichen AS/400 Benutzern aufrufbar sein soll, welche dann alle das Schlüsselpaar im persönlichen Benutzerverzeichnis liegen haben müssten. Dafür wäre mir der Verwaltungsaufwand zu hoch.
    (quasi nur um "Hello World!" zu fabrizieren )

    Mit der nicht funktionierenden PAM Komponente sind wir auch noch nicht weiter gekommen. Möglicherweise ist das ein hausgemachtes Problem von Ubuntu auf VM-Ware. (Oder auch nicht - ich selbst habe keinen Schimmer von Linux, und diese kleine Episode hier weckt auch nicht gerade meine Begeisterung.)

    Jedenfalls haben wir nun eine Lösung gefunden: cURL

    Wie man cURL auf AS/400 installiert, ist hier im ersten Abschnitt schön beschrieben, inklusive Quellenangabe:
    SNDTWTMSG - MidrangeWiki

    Damit können wir nun im CL über die QShell ein im Apache Server der Linux Maschine veröffentlichtes PHP Skript "aufrufen", welches die weitere Arbeit erledigt:

    QSH CMD('/QOpenSys/usr/local/bin/curl -u name:kennwort http://linuxserver/as400/go.php')

    Und nun ab zum Frisör - graue Haare tönen lassen. . .

  8. #8
    Registriert seit
    May 2012
    Beiträge
    16

    Curl Installation

    Hallo Zusammen,

    ich versuche seit mehreren Stunden das Addon Curl zu installieren.
    Ich habe einige Sachen probiert, dennoch finde ich nicht die im Link angegebene .tar Datei und kann somit auf der AS400 auch nicht entpacken / installieren.

    Kann mir jemand helfen?

    Danke!

    Grüße Muller

  9. #9
    Registriert seit
    Dec 2005
    Beiträge
    276
    Hallo Muller,

    probier die 7.15.1 statt die 7.13.1 Version von hier: ftp://ftp.thewrittenword.com/package...15.1.lpp.tar.Z


    MFG Zerberus

  10. #10
    Registriert seit
    May 2012
    Beiträge
    16
    Hallo,

    ich habe mir deine verlinkte Datei herunter geladen.
    Ich erhalte folgende Dateien

    curl-7.15.1.lpp.tar.Z

    Wenn ich diese entpacke den Ordner

    curl-7.15.1.lpp

    dieser enthält folgende Dateien

    LICENSE.CURL
    LICENSE.LIBGCRYPT.LGPL
    LICENSE.LIBGNUTLS
    LICENSE.LIBGPG-ERROR.LGPL
    LICENSE.LIBTASN1.LGPL
    LICENSE.pycurl.LGPL
    LICENSE.ZLIB
    README
    TWW.curl715.bff

    In der Anleitung steht was von

    "uncompress curl.7.13.1.tar.Z (gives curl.7.13.1.tar)"
    "tar xf /home/addons/curl.7.13.1.tar (installs curl in /QOpenSys/usr/local)

    Ich erhalte weder die oben beschriebene Datei, noch eine andere brauchbare die mit dem Befehl 'tar' verwendet werden kann.

    Was mache ich falsch?
    Bin für alle Tipps dankbar.

    @Zerberus77 Danke für deine schnelle Antwort!

    Grüße Muller

  11. #11
    Registriert seit
    May 2012
    Beiträge
    16
    Niemand noch eine Idee?

  12. #12
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    "uncompress curl.7.13.1.tar.Z (gives curl.7.13.1.tar)"

    im qsh einbgeben, dann hast du den tar

    dann den tar Befehl eingeben

    (eigendlich, wie es da steht. nix voher entpacken oder so ..)

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Similar Threads

  1. Duplex-Druck auf vorbedrucktem Papier
    By jgv in forum NEWSboard Drucker
    Antworten: 7
    Letzter Beitrag: 02-08-13, 09:28
  2. Call in einem Ile-RPG
    By dino in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-01-07, 09:23
  3. Fach3 auf Fach2 umleiten
    By Jörg Schmidt in forum NEWSboard Drucker
    Antworten: 14
    Letzter Beitrag: 19-09-06, 08:24
  4. oxaion erfolgreich auf i5 getestet
    By ralfmh in forum Archiv NEWSboard Events
    Antworten: 1
    Letzter Beitrag: 07-10-04, 11:17
  5. Remote Function Call -> SAP
    By areichelt in forum NEWSboard SAP
    Antworten: 2
    Letzter Beitrag: 24-02-02, 16:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •