Dann wartet das skript auf den Netzwerk Timeout. Das dauert gefühlt ne Ewigkeit. Stimmt.
Dieses Verhalten kenne ich bisher nur von den eingeschränkten Rechten. Wenn du die Zeit erübrigen kannst, dann versuch doch mal einen SSH Server auf deinem Windows-Server zu installiergen (freesshd zum beispiel). mit Putty testen und dann mit IPS auf die eigene IP verbinden. Dann wüssten wir, dass NutShell funktioniert. Nicht, dass an dem Raspi irgend eine andere Einstellung verwendet werden muss.
ich habe FreeSSHd heruntergeladen und installiert. Wenn ich aber den Port auf 22 belasse, bekomme ich eine Fehlermeldung wenn ich versuche den Server zu starten. Stelle ich ihn auf Port 23, dann kann ich ihn zwar starten, bekomme auch eine Verbindung mit Putty, aber kann Dein Tool nicht testen, da dieser offenbar fest eingestellt ist auf Port 22 - missliche Lage…
Port 22 ist SSH. Klar kann man auch alles umbauen, aber wie oft gibst du im Browser einen Port an (www.google.de:123)? Ungefähr niemals weil HTTP eben 80 ist und Ende.
Wenn der Port sich nicht benutzen lässt ist das womöglich schon das Problem. Hast du vielleicht schon nen SSH Dienst am Laufen? Firewall mal ausgeschalten?
mir ist es nun gelungen (auch mit Hilfe des Links) den SSH-Server zum Laufen zu bekommen. Mit Putty (beides läuft auf dem WHS 2011) bekomme ich dann auch eine Verbindung (über 127.0.0.1 aber auch über die „eigene“ IP).
Parallel habe ich es über Dein Skript versucht - im freeSSHd erscheint dann manchmal dass ich „online“ bin. Manchmal hängt das Skript auch wie schon weiter oben beschrieben („Ausführen“-Button inaktiv usw.). Aber weiter geht es leider nicht…
da ich nicht so ganz der Linux-Profi bin noch mal eine Frage:
Wenn ich auf diesem Weg eine SSH-Verbindung aufbaue, wird diesen dann bei jedem Skript-Durchlauf neu aufgebaut?
Wäre es möglich den „Kanal“ z.B. mit IPS-Start zu öffnen und dann zwischendurch immer mal wieder Statusabfragen zu machen (ich möchte in diesem Fall zyklisch prüfen, ob der Siriproxy noch läuft)? Ich vermute mal, das die Anfragen schneller laufen würden, wenn nicht immer wieder der Anmeldeprozess durchgeführt werden muss…
Wie oft willst du denn Pollen? Wenns 1x pro Minute ist, sehe ich da kein Problem.
Erzaehl mal genau was du machen willst, eventuell geht’s auch anders rum. also das ein shell script dir per cron den status auf einen ips socket schreibt.
Ich habe auf einem Raspberry Pi einen Siriproxy installiert über den ich via Siri und IPS einige Dinge abfragen oder steuern kann. In den bisherigen Siriproxy-Version gab es des Öfteren Programmabbruche. Daher würde ich gerne:
a) den aktuellen Siriproxy-Status im IPS visualisieren (wofür vielleicht eher Dein eben offerierter Ansatz geeignet wäre?)
b) den Siriproxy bei Bedarf via IPS Starten oder Stoppen (wofür vielleicht eher der SSH-Zugang geeignet wäre?)
mal schnell zusammen gestrickt… host und daemon namen musst du noch anpassen.
Auf dem IPS Server erstellst du einen Server Socket auf port 6789.
Wenn du das sharp entfernst, wird der process auch neu gestartet (#&& siri > /dev/null).
Den code als pcheck.sh speichern.
Ausfuehrbar machen: chmod +x pcheck.sh
Starten: ./pcheck.sh
ok etwas Detail:
Putty nimmst Du um eine SSH Verbindung (von Windows) aus zu machen.
Am besten du speicherst Die Verbindungsdaten in einem Profil (startseite Putty ab).
Da Putty aber eine GUI Applikation ist, kannst Du diese nicht per excec aus PHP aus ausführen.
Deshalb gibt es plink.exe (auch auf der Putty homepage). Diese wird verwendet um putty über die kommandozeile anzusprechen.
Also rufst du mit exec aus deinem PHP Script PLINK mit den entsprechenden parametern auf.