Remote Poweroff/Shutdown

    • OMV 2.x
    • Remote Poweroff/Shutdown

      Hallo,

      ich möchte OMV über eine Batchdatei aus Windows heraus herunterfahren (poweroff/shutdown). Ich vermute, dass das möglich ist, aber ich habe trotz einiger Themen zu dieser Frage keine Lösung über Google gefunden.

      Ich habe hier OMV 2 auf einem BananaPi.
    • Hi,

      habe soetwas auf meinem Linux Router laufen.
      Das sollte aber auch mit Windows funktionieren.

      Der Ansatz ist, dass OMV einen SSH Key von deinem Client importiert:

      [GUIDE] Enable SSH with Public Key Authentication (Securing remote webUI access to OMV)


      Dann kannst du einen SSH Befehl direkt und ohne PW von deinem Client ausführen.
      Bei mir (Linux) sieht das so aus:

      ssh control@10.1.1.4 -i /root/.ssh/id_rsa sudo /sbin/shutdown -h now

      Wobei "control" ein OMV user ist, der SSH darf und in der sudoers Gruppe ist:

      Auszug aus /etc/sudoers
      # User privilege specification
      root ALL=(ALL:ALL) ALL
      control ALL=NOPASSWD: /sbin/shutdown
    • Enra wrote:

      Dann kannst du einen SSH Befehl direkt und ohne PW von deinem Client ausführen.
      Bei mir (Linux) sieht das so aus:

      ssh control@10.1.1.4 -i /root/.ssh/id_rsa sudo /sbin/shutdown -h now

      Wobei "control" ein OMV user ist, der SSH darf und in der sudoers Gruppe ist:

      Auszug aus /etc/sudoers
      # User privilege specification
      root ALL=(ALL:ALL) ALL
      control ALL=NOPASSWD: /sbin/shutdown

      Erstmal Danke für deine Antwort und Sorry, dass ich mich erst jetzt dazu melde.
      Ich habe zwar mit einigen Tücken einen Benutzer mit einem öffentlichen Schlüssel angelegt bekommen, aber eine Passwortlose Anmeldung funktioniert nicht.

      Wenn ich deinen Steuerbefehl unter Windows ausführe, werde ich nach einem Passwort gefragt und werde dann rausgeschmissen.

      f:\z>ssh ssh-user@192.168.1.31 -i .\id_rsa sudo /sbin/shutdown -h now
      ssh-user@192.168.1.31's password:
      Could not chdir to home directory /home/ssh-user: No such file or directory
      /bin/dash: Permission denied

      Wenn ich den gleichen Befehl als root angebe, werde ich ebenfalls nach einem PW gefragt. Danach wird OMV aber heruntergefahren.



      f:\z>ssh root@192.168.1.31 -i .\id_rsa sudo /sbin/shutdown -h now root@192.168.1.31's password:

      Ich habe im Moment keine Idee, an welcher Stelle ich nach dem Fehler suchen soll.

      The post was edited 1 time, last by Zonk ().

    • Nachdem ich noch eine ganze Zeit dran rumgefummelt habe, denke ich schon, dass ich über den hinterlegten Key zur Anmeldung komme. Allerdings kommt jetzt ein neues Hindernis. Für mich sieht es so aus, als hätte der Benutzer "ssh-user" nicht die notwendigen Berechtigungen, um irgendwas auszuführen.

      Auf:
      plink ssh-user@192.168.1.31 -i f:\z\schl2.ppk sudo /sbin/shutdown -r now
      kommt:
      /bin/dash: Permission denied



      Hier meine /etc/sudoers

      Source Code

      1. # This file MUST be edited with the 'visudo' command as root.#
      2. # Please consider adding local content in /etc/sudoers.d/ instead of
      3. # directly modifying this file.#
      4. # See the man page for details on how to write a sudoers file.
      5. #
      6. Defaults env_reset
      7. Defaults mail_badpass
      8. Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
      9. # Host
      10. alias specification
      11. # User
      12. alias specification
      13. # Cmnd
      14. alias specification
      15. # User privilege specification
      16. root ALL=(ALL:ALL) ALL
      17. ssh-user ALL=NOPASSWD: /sbin/shutdown
      18. # Allow members of group sudo to execute any command
      19. %sudo ALL=(ALL:ALL) ALL
      20. # See sudoers(5) for more information on "#include" directives:
      21. #include
      22. dir /etc/sudoers.d
      Display All
      Im OMV-GUI habe ich ssh-user den Gruppen ssh und sudo hinzugefügt.
      Irgendwie habe ich aber den Eindruck, dass das, was ich im GUI mache, nicht komplett umgesetzt wird. Es gibt z.B. kein Verzeichis "/home/ssh-user".
      Über Putty kann ich mich in einer Konsole als root anmelden. Wenn ich mich aber als "ssh-user" anmelden möchte (login ssh-user), dann kommt "/bin/dash konnte nicht ausgeführt werden: Keine Berechtigung"

      The post was edited 1 time, last by Zonk ().

    • Dann teste mal, ob du ohne den shutdown Befehl eine ssh Verbindung bekommst.
      plink ssh-user@192.168.1.31 -i f:\z\schl2.ppk
      Damit solltest du als der ssh.user auf die Konsole kommen.

      Dann kannst du
      sudo /sbin/shutdown -r now
      probieren.

      PS:
      Den ssh-user habe ich nicht in die Gruppe sudo hinzugefügt.
      Bei mir ist er in der Gruppe "root" drin.

      Ich weiss auch nicht, ob man diesen Hinweis ernstnehmen muss:
      # This file MUST be edited with the 'visudo' command as root.#
    • Wenn ich versuche mich ohne shutdown-Befehl anzumelden kommt:

      ###################
      plink ssh-user@192.168.1.31 -i f:\z\schl2.ppk
      Using username "ssh-user".
      Linux BaPi 3.4.108+ #1 SMP PREEMPT Mon Jan 4 22:29:22 CET 2016 armv7l


      ------------------------------------------------------------------------
      Welcome to Bananian Linux!
      For news and updates check: bananian.org
      Any questions? Read the FAQ first: bananian.org/faq


      Run 'bananian-config' to set up Bananian Linux
      Run 'bananian-update' to check for distribution updates
      ------------------------------------------------------------------------
      Last login: Sat Oct 22 02:03:52 2016 from 192.168.1.1
      /bin/dash: Permission denied
      ###################

      Die Anmeldung funktioniert also nicht.
      Ich habe den Benutzer aus der Gruppe "sudo" rausgenommen und zu "root" hinzugefügt, aber das ändert auch nichts.


      /etc/sudoers habe ich noch mal mit visudo geöffnet und abgespeichert. Das ändert aber leider nix.



      @Wolf
      Auf der Webseite wird auch plink empfohlen. Ich habe die dort genannten Parameter "-v -ssh" mit und ohne Passwort getestet, werde aber letztlich mit der gleichen Fehlermeldung rausgeworfen:


      #######################
      F:\Programme\PuTTy>plink -v -ssh ssh-user@192.168.1.31 -i f:\z\schl2.ppk
      Looking up host "192.168.1.31"
      Connecting to 192.168.1.31 port 22
      We claim version: SSH-2.0-PuTTY_Release_0.66
      Server version: SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u6
      We believe remote version has SSH-2 channel request bug
      Using SSH protocol version 2
      Doing Diffie-Hellman group exchange
      Doing Diffie-Hellman key exchange with hash SHA-256
      Host key fingerprint is:
      ssh-rsa 2048 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      Initialised AES-256 SDCTR client->server encryption
      Initialised HMAC-SHA-256 client->server MAC algorithm
      Initialised AES-256 SDCTR server->client encryption
      Initialised HMAC-SHA-256 server->client MAC algorithm
      Reading private key file "f:\z\schl2.ppk"
      Using username "ssh-user".
      Offered public key
      Offer of public key accepted
      Authenticating with public key "imported-openssh-key"
      Sent public key signature
      Access granted
      Opening session as main channel
      Opened main channel
      Allocated pty (ospeed 38400bps, ispeed 38400bps)
      Started a shell/command
      Linux BaPi 3.4.108+ #1 SMP PREEMPT Mon Jan 4 22:29:22 CET 2016 armv7l


      ------------------------------------------------------------------------
      Welcome to Bananian Linux!
      For news and updates check: bananian.org
      Any questions? Read the FAQ first: bananian.org/faq


      Run 'bananian-config' to set up Bananian Linux
      Run 'bananian-update' to check for distribution updates
      ------------------------------------------------------------------------
      Last login: Sat Oct 22 02:18:09 2016 from 192.168.1.1
      /bin/dash: Permission denied
      Server sent command exit status 1
      Disconnected: All channels closed
      #########################


      An der Meldung "Last login: ..." erkennt man, dass eine Anmeldung stattgefunden hat. Ich vermute, dass der Benutzer keine ausreichenden Rechte hat. Er hat ja nicht mal ein Home-Verzeichnis.

      Ich denke, es ist besser, wenn ich zuerst mal ein Backup erstelle, bevor ich mir hier alles zerlege. Wie ich ein Backup sinnvoll machen kann, weiß ich noch nicht.



      EDIT:
      Unter "Zugriffskontrolle -> Benutzer -> Einstellungen -> Heimatverzeichnis des Benutzers" steht der Schalter auf deaktiviert.
      Könnte das der Grund für die Fehlermeldungen sein?
      Wenn ich ihn aktiviere, will OMV einen Speicherort angegeben haben. Es bietet mir dazu aber nur die Festplatte an, die am BananaPi angeschlossen ist. Die Daten von OMV sollen aber nur auf der SD-Card liegen. Ist das möglich?

      The post was edited 1 time, last by Zonk ().

    • Zonk wrote:

      Unter "Zugriffskontrolle -> Benutzer -> Einstellungen -> Heimatverzeichnis des Benutzers" steht der Schalter auf deaktiviert.
      Könnte das der Grund für die Fehlermeldungen sein?
      Sehr gut möglich.
      Ausprobieren.

      Zonk wrote:

      Wenn ich ihn aktiviere, will OMV einen Speicherort angegeben haben. Es bietet mir dazu aber nur die Festplatte an, die am BananaPi angeschlossen ist.
      Das macht doch nix. Ist doch nur das Home VZ. Kannst ja dann mal schauen, was da so für Daten reinkommen.
    • Hallo Zonk

      1. Must du den plink ordner in das Verzeichnis kopieren : C:\Program Files (x86) ((x86)ist nur bei 64bit)
      2.


      3.Erstelle eine neue txt

      plink -v -ssh root@192.168.1.5 -pw dein-password reboot

      und das ganze speichern unter Reboot.bat

      Das ganze war ja nicht so schwer?
      forum-bpi.de Visit on and help us, The Germany Forum :thumbsup:
      github.com/Wolf2000Pi
      Banana Pi /Armbian 3.4.109 / Openmediavault 2.x
      Banana Pi /Armbian 4.11.5-sunxi / Openmediavault 3.0.xx (Test)
      Dell Inspiron One 2205 | Openmediavault 3.0.xx / Kernel 4.7 (Test)
    • Enra wrote:

      Zonk wrote:

      Unter "Zugriffskontrolle -> Benutzer -> Einstellungen -> Heimatverzeichnis des Benutzers" steht der Schalter auf deaktiviert.
      Könnte das der Grund für die Fehlermeldungen sein?

      Sehr gut möglich.Ausprobieren.


      Werde ich machen. Da ich aber nicht weiß, was OMV dann macht und da ich bisher kein gescheites Backup der SD-Card hatte, wollte ich zuerst eins machen. Unter Windows mache ich das seit langem mit Acronis True Image Home. Das kommt mit ext4 und SD-Cards aber nicht klar. Mehrere Partitionen auf einer SD-Card kapiert Windows nicht. Ein Backupprogramm mit GUI habe ich für Linux nicht gefunden. Clonezilla hat die SD-Card nicht gefunden und hat sich einfach beendet. Ich hoffe echt, dass das nur die Anfangsschwierigkeiten sind. Im Moment tue ich mich mit Linux richtig schwer und stolpere von einem Problem zum nächsten. Am Ende habe ich ein Image mit Win32 Disk Imager erstellt bekommen, welches ich mit dd verkleinern konnte und dann auf eine andere SD-Karte kopieren konnte.

      Wirklich weiter bin ich damit aber auch noch nicht, denn nun findet GParted Fehler auf der SD-Card und e2fsck behebt sie nicht, obwohl es angibt, das zu tun.
      Es ist wirklich zum Haare raufen.

      Zonk wrote:

      Wenn ich ihn aktiviere, will OMV einen Speicherort angegeben haben. Es bietet mir dazu aber nur die Festplatte an, die am BananaPi angeschlossen ist.

      Das macht doch nix. Ist doch nur das Home VZ. Kannst ja dann mal schauen, was da so für Daten reinkommen.


      Ich möchte schon das System und die Daten sehr strickt trennen, damit ich die Festplatte und die SD-Card jederzeit problemlos tauschen kann. Wenn ich einen Teil des Systems auf der HDD hätte, dann wäre das Erstellen eines Backups noch komplizierter.

      Wolf2000 wrote:


      1. Must du den plink ordner in das Verzeichnis kopieren : C:\Program Files (x86) ((x86)ist nur bei 64bit)
      2.[Path-Variable]
      3.Erstelle eine neue txt
      plink -v -ssh root@192.168.1.5 -pw dein-password reboot


      Danke für die Variante mit PW. Das werde ich zumindest temporär benutzen, bis ich es mit hinterlegtem Key schaffe.
      Ich benutze hier XP. Ich schätze Schritt 1. ist nur für neuere Windowsversionen notwendig.
      Schritt 2. vermeide ich so oft es geht, denn je größer der Pfad ist, desto unübersichtlicher wird es. In Batchdateien übergebe ich lieber einmal den gesamten Pfad zum Programm an eine Variable und benutze diese.
    • Ich habe nun den Schalter "Zugriffskontrolle -> Benutzer -> Einstellungen -> Heimatverzeichnis des Benutzers" aktiviert und ein /home-Verzeichnis auf einer separaten Partition angegeben. OMV hat auch gleich mehrere Benutzer dort eingetragen und ein paar Dateien dorthin kopiert.
      Eine Anmeldung klappt dennoch nicht, bzw. nach wie vor nur als root.

      Wenn ich als root angemeldet bin und ich dann "login ssh-user" plus Passwort angebe, werde ich mit der gleichen Fehlermeldung rausgeschmissen, wie direkt per ssh.

      Ich habe danach etliche Beiträge zu dem Thema gelesen. Viele deuten darauf hin, dass die Berechtigungen für unterschiedliche Dateien falsch gesetzt sind. Da sich die Beiträge meist auf andere Versionen und Distributionen beziehen, sind hier teilweise die Dateien nicht mal vorhanden, sodass ich die Lösungsvorschläge nicht 1:1 übernehmen kann.

      Nun stehe ich quasi wieder am Anfang.
      Wenn eine Datei-Berechtigung nicht stimmt, dann ist das für mich wie eine Nadel im Heuhaufen. Selbst wenn ich ein funktionierendes Linux als Vorlage hätte, wüsste ich nicht, wie ich die Berechtigungen dateiweise vergleichen könnte.

      Eine Idee nach Anfängermethode hätte ich noch: Ein Backup auf eine andere SD-Card packen und dann nach und nach die Ordner im Hauptverzeichnis jeweils rekursiv auf '777' setzen und nach jedem Ordner einen Login probieren. Wenn es dann klappt, wieder das Backup zurückspielen und dann nur die Unterordner der Reihe nach auf '777' setzen, bis ich den oder die Übeltäter gefunden habe.
      Wirklich prickelnd ist das aber natürlich nicht.

      Gibt es eine Logdatei, die beim Anmelden eines Benutzers geschrieben wird?
      Ich könnte diese mit einer Logdatei eines vorhandenen Linux Mint vergleichen. Vielleicht ergibt sich daraus ein nützlicher Hinweis.

      Oder gibt es vielleicht irgendwo eine zentrale Konfigurationsdatei, in der die Anmeldung einer Benutzers grundsätzlich verweigert werden kann oder in der man sie freischalten muss?

      Gibt es unter bananian ein tracetool, wie z.B. strace oder ltrace?
    • Hallo,

      ein Problem bei der Umsetzung war, dass ich mich nicht als User (außer root) anmelden konnte. Das habe ich inzwischen geklärt. Für das Verzeichnis /lib war nicht root, sondern ein User als Besitzer eingetragen. Den User hatte ich selbst für den Zugriff auf Netzwerkfreigaben durch Windows-Clients erstellt. Die Besitzübernahme habe ich allerdings nicht selbst oder zumindest nicht absichtlich eingerichtet.
      Bei meinem ursprünglichen Vorhaben, OMV remote herunterzufahren, bin ich mangels Zeit noch nicht weitergekommen. Das werde ich demnächst noch mal in Angriff nehmen.