SSH möglich.

Hallo,

dass Telnet klappt hab ich schon heraus gefunden nur würde ich auch gerne Kommandos per ssh an meinen Linux Server schicken.
Gibt es da irgend eine Möglichkeit ?

Hallo,

Sollte funktionieren.
Installation siehe PHP: Installation - Manual, scheint so ziemlich alles auch vorkompiliert zu geben.
Kommando Ausführen siehe Beispiel unter PHP: ssh2_exec - Manual.

Horst

Ja vielen dank, klappt !

bei interesse kann ich mal das script welches ich mir erarbeitet habe posten.

Hi McBain,

hätte Interesse an dem Script.

Grüße

Moin…

… Ich hätte auch Interesse am Skript.
Suche noch ne Möglichkeit mein Synology-NAS zu steuern und das sollte per SSH funktionieren!!
Danke,
Peter

Sent from my iPhone using Tapatalk

Hallo Leute,

auch ich hätte Interesse an Deinem Skript und Deinen Erfahrungen. (siehe auch hier)

Joachim

Oder NutShell verwenden (nur IPS 2.6 im Moment).

 
  if (SSH_Login(20362 /*[NutShell]*/, '192.168.2.100', 'root', 'passwort'))
  {
    SSH_SendCommandWait(20362/*[NutShell]*/, 'cd /', 0);
    SSH_SendCommandWait(20362/*[NutShell]*/, 'ls -l', 0);
    print SSH_GetResponse(20362/*[NutShell]*/);
    SSH_Logout(20362/*[NutShell]*/);
  }
  else
  {
    print 'Login failed';
  }

Toni

oder mit einer reinen PHP-Bibliothek wie dieser: http://phpseclib.sourceforge.net/ , mit Beispiel auch hier: http://4rapiddev.com/php/php-ssh-to-remote-server-and-execute-command/
Ist zwar kein Performance-Wunder, aber für den Hausgebrauch reicht es.

Tommi

Hallo Toni und tommi,

vielen Dank für Eure Antworten! Auch ich möchte mich ja zeitnah auf die 2.7 „hocharbeiten“ von daher fällt der eine Tipp wohl aus.
Aber wie auch immer: Das ist mir noch ein bißchen zu abstrakt, da traue ich mich nicht so richtig ran…

Joachim

Naja, sobald ich dazu komme ist das dann auch soweit. Seit heute ist die 2.7 ja offiziell. nu muss ich da wohl auch bei… Das gibt der Geschichte ne andere Prio.

Toni

Hallo Toni,

nachdem ich nun auf 2.7 upgedated habe, habe ich mich nun doch mal mutig an Dein Tool getraut. Die Installation hat offenbar problemlos geklappt, aber eine Verbindung wird mit Deinem Beispielskript leider nicht aufgebaut (Objekt-ID, IP, User und Passwort habe ich selbstverständlich angepasst).

Gibt es noch irgendetwas Sonstiges zu beachten oder „auf der anderen Seite“ einzustellen?

Joachim

Gabs ne Meldung Im IPS Log? Mal mit Putty ne Verbindung aufgebaut? Gabs da ne Fehlermeldung? Standardport am Server verändert?

Toni

…das ist ja eine super schnelle Antwort! :slight_smile:

Mit dem Putty kein Problem, Standardport nicht geändert (22)…

Joachim

Nachtrag: der String unterhalb der Instanz hat den Inhalt „plink.exe not found“
Nachtrag II: Meldung im Log - 15.02.2013 20:38:43.718 | 0 | MESSAGE | NutShell SSH Client | Register

Dafür bin ich berüchtigt :smiley:

Hast du putty in der Firewall vielleicht mal irgendwann freigegeben? Solche Freigaben sind exklusiv un gelten nicht automatisch auch für alle anderen Programme, die den Port verwenden wollen. Also mal Firewall ausschalten und nochmal testen. Gehts dann, dann weisst du woran es liegt und kannst ne Ausnahmeregel definieren. Firewall wieder an.

Hallo Toni,

auch die explizite Freigabe des Port 22 brachte keine Änderung. Putty ist kein Problem, das Skript läuft leider nicht. Was ist mit „plink.exe not found“ gemeint?

Joachim

Dass du mal Vollzugriff für den Benutzer „JEDER“ auf das IPS Verzeichnis geben solltest. Mist… Sind Debug-Reste. Kümmere ich mich drum :rolleyes:

Okay, ich hab mir das nochmal angeschaut.

Mein Plan war die plink.exe mit zu liefern, aber ich war mir mit den Lizenzbedingungen nicht sicher und habs dann doch gelassen. Blöderweise hab ich die Doku Wochen später getippt und einfach nicht mehr dran gedacht. :rolleyes:

Hier gibts die Datei im Download. Die muss nur einfach ins IPS-Verzeichnis kopiert werden. Den Rest macht das Modul.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Doku passe ich gleich mal an.

Gruß,

Toni

Hallo Toni,

vielen Dank! Ich werde es mir heute Abend mal anschauen…

Eine (große) Bitte habe ich noch:
Wenn Du Deine Dokumentation anpasst wäre es toll, noch das eine oder andere Beispiel hinzuzufügen…ich stehe diesbezüglich ganz am Anfang und das könnte mir (und vielleicht ha auch anderen) helfen.

Ich möchte in diesem Fall ja gerne drei Dinge machen:

  1. den Siriserver starten wenn IPS gestartet wird (oder manuell)
  2. den Status des Siriservers prüfen
  3. den Siriserver beenden, wenn IPS (aus welchem Grund auch immer) beendet wird (oder manuell)

Joachim

So interessant ich die Siri-Proxy-Geschichte auch finde. Ich hab kein RPi und kein Siri. Schwierig ein funktionierendes beispiel zu erfinden ohne selbst etwas testen zu können.

Das Beispiel auf meiner Seite zeigt aber wie man Befehle an einen Server sendet und das Ergebnis abfragen kann. Das sollte ja schon die halbe Miete sein.

Toni

Hallo Toni,

was sollte denn Dein Test-Skript idealerweise melden?

Nach einem Neustart der Konsole kommt nach 5569 ms „Login failed“, wird das Skript dann ein zweites Mal ausgeführt, bleibt das überlagerte „Ausführung…“-Fenster einfach stehen - es passiert weiter nichts… Der Button oben rechts mit der Beschriftung „Ausführen“ bleibt gesperrt. Beenden kann man das nur, in dem man das Skript-Tab schließt…

Joachim