Shutdown per Remote?

beta

Member
Jan 20, 2021
77
1
13
53
Moin,
ich weiß nicht ob das jemand so praktiziert, aber ich würde gerne meinen extra PVE/PBS Backupserver per Remote herunterfahren.
Für WOL nutze ich den Docker Container Upsnap: https://github.com/seriousm4x/UpSnap
Das ist eigentlich ganz cool, weil es nicht einer extra App etc. bedarf und man damit Devices per WOL wecken, als auch herunterfahren kann.
So die Theorie. WOL klappt für den PVE/PBS Server per ethtool auch ohne Probleme, aber Shutdown nicht.
Dazu 2 Fragen:
1. WOL muss bei jedem Betriebsystem aktiviert werden. Warum ist das so?
Das Betriebssytem wird ja heruntergefahren und ist bei WOL ja nicht mehr aktiv. Eigentlich sollte ein geeignetes BIOS ja reichen, tut es aber nicht.
Was macht ein Betriebsystem genau um WOL zu aktivieren?
Die Netzwerkkare auf Standby setzen, oder sowas?

2. Als Shutdoenbefehl für Linux wird bei Upsanp folgendes geschrieben:
Code:
sshpass -p password ssh -o "StrictHostKeyChecking=no" user@hostname "sudo poweroff"
Das funktioniert remote für Proxmox aber nicht.
Ist das für PVE überhaupt möglich?

Natürlich könnte ich den Shutdown auch über einen Cron in PVE erstellen, aber über Upsnap könnte ich den PC dann aufwecken und schlafen legen.
Das wäre schon praktisch.
 
poweroff sollte funktionieren (oder eins der anderen 16 aliase ;)), moeglicherweise ist "sudo" nicht installiert/konfiguriert? ein standard PVE kann aber auch root login ueber SSH, da brauchts dann kein sudo..
 
Habs gerade hinbekommen.
Ging tatsächlich ohne sudo, aber statt dem hostname musste ich die IP eintragen, dann gings. :D
 
Last edited:
poweroff sollte funktionieren (oder eins der anderen 16 aliase ;)), moeglicherweise ist "sudo" nicht installiert/konfiguriert? ein standard PVE kann aber auch root login ueber SSH, da brauchts dann kein sudo..
Ich hatte mir da extra einen shutdown user für angelegt, sudo installiert und dem shutdown user über die sudoers Datei dann die Rechte eingeräumt ohne Passworteingabe den Shutdown-Befehl ausführen zu dürfen. Ist ja sonst sicherheitstechnisch schon sehr unschön, wenn man dafür sein Root-Passwort im Docker-Container speichern muss.
 
Da hast du wohl Recht, geht mir persönlich aber schon so weit.
Theoretisch weiss man aber auch nie was die Container so machen.
Ich überprüfe das jedenfalls nie.
 
Da hast du wohl Recht, geht mir persönlich aber schon so weit.
Theoretisch weiss man aber auch nie was die Container so machen.
Ich überprüfe das jedenfalls nie.
Ja, dann erst recht ein Grund warum du dein Docker-Container keinen vollen Administrativen Zugriff zum kompletten PVE Server inkl. aller anderen Gästen geben solltest. ;)
Also ich möchte nicht, dass da ein Docker-Container z.B. in der Lage ist alle meine Backups zu löschen und danach noch alle physischen und virtuellen Disks des Servers zu wipen, dass ich da dann ohne Disks und ohne Backups da stehe.
 
Hmm ... ich tue mich mit den Rechten da immer etwas schwer.
Vielleicht könntest du mal schreiben was ich dafür genau tun muss. ;)
 
If i remember right it should be something like this:

create a new user "shutdown":
adduser shutdown

Install sudo:
apt update && apt install sudo

Edit sudoers file so shutdown user can use shutdown command:
visudo
Add there something like this:
Code:
# allow shutdown user to shutdown host without asking for password
Defaults:shutdown !requiretty
shutdown ALL=(root) NOPASSWD: /usr/sbin/shutdown

Add your public key to the shutdown users authorized_keys file:
nano /home/shutdown/.ssh/authorized_keys

On another host use ssh command with your private key to shutdown the remote host:
ssh -i /PATH/TO/YOUR/PRIVATE.KEY shutdown@IP.OF.YOUR.HOST "sudo /usr/sbin/shutdown"
 
Wenn du mir jetzt noch erklärst woher ich den public key bekomme oder generiere, wäre ich happy.
 
Hmmm Ok.
Doch nicht so trivial wie ich dachte.
Mal eine Verständnisfrage dazu:
Da wird jetzt kein Passwort benötigt, weil ein ssh key hinterlegt ist?
Würde das nicht auch einfach nur mit dem User shutdown und dem Passwort gehen?
Klar, dass Passwort würde wieder im Klartext übertragen, aber der User shutdown wäre ja kein root, könnte aber vielleicht doch zu viel im System machen?
 
Hmmm Ok.
Doch nicht so trivial wie ich dachte.
Mal eine Verständnisfrage dazu:
Da wird jetzt kein Passwort benötigt, weil ein ssh key hinterlegt ist?
Jup.
Würde das nicht auch einfach nur mit dem User shutdown und dem Passwort gehen?
Ja, aber Passwörter für SSH sollte man eigentlich wenn möglich komplett deaktivieren, da es unsicherer ist als Pubic-Private-Key-Verfahren. Dazu dann am besten noch fail2ban drauf.
 
Ok, danke.
Also rein theoretisch könnte der Hersteller eines Containers mit dem Passwort und einer IP Abfrage auf den PVE-Host zugreifen?
Auch ohne externe Portfreigabe?
 
Ja, wenn du den SSH Port nicht über die Firewall dicht machst schon. Aber wenn du das machen würdst, könnest du den Server ja auch nicht mehr über SSH runterfahren. Aus dem Problem kommst du also nur raus, wenn du dem Container nur so wenig Rechte wie möglcih einräumst, dass der gerade so den Server runtenfahren aber sonst nichts wichtiges machen darf. Daher extra User nur zum herunterfahren.
 
Ich habe da glaube ich gerade einen Knoten im Kopf. :rolleyes:
Was heisst denn dicht machst?
Wenn ich die Ports in meiner Fritzbox nicht freigebe sind die doch automatisch dicht, oder?
Die 2 "Server" stehen ja beide bei mir zuhause im lokalen Netzwerk und externen Zugriff habe ich nur per VPN.
Also düfte theoretisch auch Niemand irgendeinen Zugriff haben, weder SSH noch irgendwas sonst?
 
Ich habe da glaube ich gerade einen Knoten im Kopf. :rolleyes:
Was heisst denn dicht machst?
Wenn ich die Ports in meiner Fritzbox nicht freigebe sind die doch automatisch dicht, oder?
Fritzbox macht doch nur die Ports vom Internet zur Heimnetz dicht. Verhindert aber nicht, dass da im Heimnetz ein Container mit dem PVE Host oder einem anderen Rechner/LXC/VM kommunizieren könnte. Dafür hat man dann ja die Firewall des PVE bzw die Firewall für jeden einzelnen LXC/VM.
Die 2 "Server" stehen ja beide bei mir zuhause im lokalen Netzwerk und externen Zugriff habe ich nur per VPN.
Also düfte theoretisch auch Niemand irgendeinen Zugriff haben, weder SSH noch irgendwas sonst?
Ja, nicht vom Internet aus. Aber guckst du dir jedesmal jede Zeile des Quellcodes eines Docker-Containers an, bevor du den aktualisierst/installierst?
Ist schon oft genug vorgekommen, dass da einem Container-Maintainer der Rechner gehackt wurde, damit hatten die Angreifer dann auch die Passwörter und hatten dann ein Docker-Container-Update mit Schadsoftware hochgeladen. Und jeder der dann diese Container benutzt hat, hat sich so dann Schadsoftware daheim auf den Docker-Server geholt. Oder jemand mit bösen Absichten zahlt dem Conatiner-Maintainer Geld und kauft den Account ab, damit er Schadsoftware an alle Container-Nutzer ausrollen kann. So ein kompromittierter Docker-Container ist dann ja bereits in deinem LAN und kann da frei auf alle IPs und Ports aller anderen Rechner/LXCs/VMs zugreifen, wenn du da nicht für jeden Host extra eine eigene Firewall einrichtest. Da hilft dir dann die Fritzbox gar nichts. Daher sollte man sich ja eigentlich auch noch eine DMZ für sowas einrichten, dass da Dienste von VMs/Containers zum echten Heimnetz isoliert sind, dass da dann im Ernstfall wenigstens die Heimrechner nicht auch noch angreifbar sind. Und bei sowas wäre es dann sehr dumm, wenn man dem Docker-Container vollen Root-Zugriff auf den PVE Server geben würde.
 
Last edited:
Ahhh ... OK.
Klingt logisch.
Ich bin bei Angriffen immer nur von Angriffen von aussen ausgegangen.
Auf der anderen Seite könnten das aber auch bei jeglicher Anwendung die ich installieren auftreten, egal welchen Betriebssystem oder Art der Anwendung.
Was weiss ich denn, was die Apps auf dem Handy oder PC so übertragen oder ob sich dahinter ein Trojaner versteckt?
Ich würde mir natürlich nicht alles installieren, aber im Endeffekt weiß ich es nie.
Klar, die haben zumindest nicht alle Zugriff auf den Host, auf diverse Dateien aber schon, sonst ergibt eine Anwendung ja keinen Sinn.
Wieder viel gelernt, danke dafür.
Das mit den Keys werde ich mir dann wohl mal näher ansehen.
Ist mir sonst jetzt doch zu unsicher. ;)
Mit der Firewall von PVE habe ich mich erhrlich gesagt noch nicht beschäftigt.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!