Herunterfahren der Nas via ssh/batch

Status
Für weitere Antworten geschlossen.
Ok, habe ich mir angeschaut. Ich wollte allerdings eigentlich nicht die kompletten Zugriffswege auf die Private-Key-Methode ändern. Alles was ich will ist (wie bisher) die Möglichkeit zu haben einen Doppelklick auf eine bat-Datei auf dem Desktop zu machen um die DS herunterzufahren.
Gibt es keine Möglichkeit, wie in Beitrag 9 angedeutet, den root-User nur für den poweroff Befehl die ohne Passwort zu autorisieren?
 
Ok, habe ich mir angeschaut. Ich wollte allerdings eigentlich nicht die kompletten Zugriffswege auf die Private-Key-Methode ändern.
brauchst du ja nicht komplett umzustellen. Das wäre ja nur für root, der ja eh nicht mehr per Passwort reinkommt. Die anderen User z.B. admin können immer noch via Passwort zugreifen. In der ssh Config einfach PasswordAuthentication auf yes belassen

Gibt es keine Möglichkeit, wie in Beitrag 9 angedeutet, den root-User nur für den poweroff Befehl die ohne Passwort zu autorisieren?
das "ohne Passwort" bezieht sich nur auf die Verwendung von sudo als non-root User z.B. für admin. Für den eigentlichen SSH Login brauchst du immer ein PW resp Private-Key
wenn du es via admin und sudo machen willst, dir dringend raten den root Zugang via Private-Key doch zu machen, bevor du anfängst an der /etc/sudoers rumzumachen. Ein Fehler in dieser Datei und sudo ist erstmal unbrauchbar. Zudem würde ich zu einem eigenen User für den shutdown raten, sonst musst du an den admin Eintrag in sudoers ran. Dann erstellst du in der sudoers einen Eintrag à la
Code:
Cmnd_Alias SHUTDOWN = /sbin/poweroff,/sbin/shutdown,/sbin/reboot
deinUser ALL=NOPASSWD: SHUTDOWN
den Alias brauchst du nicht unbedingt, der soll nur zeigen wie man gleich mehrere Kommandos zusammenfassen kann. Du kannst das Kommando auch direkt anstelle des Alias bei NOPASSWD: angeben
Man kann mit Alias auch Argumente angeben und Wildcards verwenden z.B.
Code:
Cmnd_Alias SHUTDOWN = /sbin/reboot --halt,/sbin/poweroff *
deinUser ALL=NOPASSWD: SHUTDOWN
würde dafür sorgen, dass nur /sbin/reboot --halt oder /sbin/poweroff (mit allen Argumenten weil Wildcard) ohne Passwort ausgeführt werden können durch den User
 
Kann mir jemand erklären wie ich mit einer Batch-Datei die Synology herunterfahre.

root rechte habe ich mittlerweile mit WinSCP über einen erstellten Key.

Wenn ich allerdings mit den parameter hostkey aufrufe bekomme ich folgende Meldung:
Fatal Error: Host Key did not appear in manually configuration list.

Was muss ich noch tun? Bin an einem Punkt wo ich nicht mehr alleine weiter komme.


So sieht der Befehl aus: plink.exe -hostkey xx:xx:xx -ssh -pw xxxxx root@xxxxx poweroff
 
Hallo,
am einfachsten ist es wenn Du Dir in putty eine Session für Deine DS speicherst.
- IP eigeben
- im Feld Saved Sessions einen einfachen Namen eingeben zB. syno
- unter Connection Data Auto-login username root eintragen
- unter Connection SSH Auth Private key for authentication Dein private key File eintragen
- zurück zu Session und dort Save klicken
Die Kategorien findest Du am linken Rand. Wenn alles stimmt per Open testen. Klappt das problemlos dann kannst Du per
Code:
plink syno poweroff
die DS herunterfahren. Hierbei steht syno für die gespeicherte putty Session.

Gruß Götz
 
Zuletzt bearbeitet:
Ich habe jetzt nochmal den Key auf 2048 Verschlüsselung gestellt ohne Passwort. Dann nicht per Hostkey sondern an plink das Keyfile übergeben und nun funktioniert es wunderbar..

Deine Variante werde ich mir interessehalber aber auch mal ansehen.

Danke
 
Erstmal danke für die funktionierende Lösung.

Es stört mich jedoch etwas, dass ich die root-Berechtigung an jeden client bzw. auch Benutzer eines solchen geben muss, der die Diskstation nur herunterfahren soll. Denn mit dem Key kann sich jeder ja als root per ssh anmelden und dann etwa auch Zugriffsrechte verändern.

Wäre es unter Sicherheitsaspekten daher nicht ratsam, einen user z. B. stopnas zu definieren; der erhält in der sudoers-Datei das Recht für den shutdown und ansonsten als Shell in der passwd nur das Recht den /sbin/shutdown auszuführen.

Wenn dann der private key dieses users für den Shutdown herausgegeben wird, kann damit nur der Shutdown der Synology ausgeführt werden und sonst nichts.


Gruß
Thorsten
 
Macht durchaus Sinn. Ein User shutdown gehört meiner Erfahung nach zu einer typischen Linux-Installation, der Gedanke ist also nicht neu oder ungewöhnlich.
 
das ändert aber nichts daran, dass der User stopnas alles machen darf was keine root Rechte benötigt. Denn er hat ja Shell Zugriff.
authorized_keys kann auch ein Kommando definieren, welches beim SSH Zugriff mit einem bestimmten Key ausgeführt wird. Dann hat der User keinerlei Einfluss auf das Kommando. Sprich wenn sich dieser Key als root via SSH verbindet, dann wird automatisch poweroff ausgeführt. imho ist das aus Sicht der Sicherheit zu bevorzugen ;)
 
Stimmt, wobei man einem User shutdown ja auch ein anderes Kommando als eine Shell in der /etc/passwd zuweisen kann, aber das nur am Rande.
 
wenn er wie vorgeschlagen "als Shell in der passwd nur das Recht den /sbin/shutdown auszuführen" erhält, ist eine normale Shell nicht zulässig.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat