Mir gelingt es durch Herumspielen mit dem Beispiel aus den MBS-Plugins eine SSH-Verbindung z.B. zu einer Synology oder einem Raspi aufzubauen und “Nicht privilegierte” Kommandos auszuführen, z.B. “ls” (und das Resultat zu lesen) …
Wie gehe ich aber damit um, dass manche Kommandos erneut nach dem Passwort fragen, nicht nur beim Eröffnen der Session, z.B. “sudo reboot”? Neuer “Channel”?
Maybe this?
echo myPassword | sudo -S reboot
admin@ESB-Syno2:~$ echo !esbxxxxx | sudo -S reboot
-sh: !esbxxxxx: event not found
admin@ESB-Syno2:~$
Das Sonderzeichen (!) am Anfang des Passwortes dürfte vermutlich störend wirken. Also entweder Passwort ändern oder versuchsweise mal in einfache Anführungszeichen (') fassen…
This is how I have it in my code
const commandline = "/bin/echo mysudopassword | /usr/bin/sudo -S /home/dirk/resetfiles.sh"
dim channel as SSH2ChannelMBS = session.OpenSession
channel.SetBlocking false
channel.execute commandline
This then executes whatever is in the .sh file with sudo rights.
2 Likes
“Das Sonderzeichen (!) am Anfang des Passwortes dürfte vermutlich störend wirken. Also entweder Passwort ändern oder versuchsweise mal in einfache Anführungszeichen (') fassen…”
YESS! Danke, genau das war es!
1 Like
@ Dirk: Thanks for your answer. But unfortunately I don’t have the right script on the goals.
1 Like