Computer Start Script mit Popup für SSH Benutzer/Passwort

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Computer Start Script mit Popup für SSH Benutzer/Passwort

Beitrag von joe2017 » 25.11.2020 10:28:22

Hallo zusammen,

ich habe eine automatische Installation von meinem Debian eingerichtet.
Nach dem ersten Neustart wird einmalig ein Computer Start Script mit sudo Rechten ausgeführ welches meinen Client konfiguriert.
Diese Script läuft im Hintergrund und ich muss während dessen mit ssh auf einen Server zugreifen.

Gibt es eine Möglichkeit wie ich ein Popup Fenster für die Zugansdaten öffnen kann um diese in Variablen für mein Script zu schreiben?
Diese Variablen müsste ich anschließend für meine SSH Verbindung verwenden.

Vielen Dank für einen Tipp.
PS. Muss keine fertige Lösug sein. Eine Idee für das Popup würde mir schon helfen.
Zuletzt geändert von joe2017 am 25.11.2020 12:16:57, insgesamt 2-mal geändert.

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Computer Start Script mit Popup für SSH Benutzer/Passwort

Beitrag von joe2017 » 25.11.2020 10:52:07

Ich habe gerade eine Möglichkeit gefunden. Ich habe es jetzt noch nicht im Computerstartscript getestet. Aber im Termnal hat es schon mal funktioniert.
Anbei mein Script:

Code: Alles auswählen

sudo apt install -y sshpass
VAR="$(sudo zenity --password --title=Authentication)"
yes | sudo cat /path/to/file | sshpass -p "$VAR" ssh user@ip "mkdir -p /path/to && touch /path/to/file && cat >> /path/to/file"
sudo apt purge-y sshpass

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Computer Start Script mit Popup für SSH Benutzer/Passwort

Beitrag von joe2017 » 25.11.2020 12:18:21

Also das Script funtioniert leider nur wenn ich es im Terminal ausführe.
Im Computer Start Script wird mir das (zenity) Fenstern leider nicht angezeigt.

Ich habe jetzt etwas seltsames herausgefunden.
Wenn ich als user das Terminal öffne und (zenity --password -title=Authentication) ausführe wird mir der Dialog angezeigt.
Wenn ich mich im Terminal als sudo (su) anmelde und dies ausführe, erhalte ich eine Fehlermeldung. Auch mit sudo (sudo zenity --password -title=Authentication) funktioniert das nicht.

Code: Alles auswählen

No protocol specified
Unable to init server:Verbindung ist gescheitert: Verbindungsaufbau abgelehnt

(zenity:2216): Gtk-WARNING **: 12:43:39.182: cannot open display: :0.0

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: Computer Start Script mit Popup für SSH Benutzer/Passwort

Beitrag von joe2017 » 25.11.2020 14:52:04

Eine andere Idee...
Könnte man aus dem Computer Start Script ein Sichtbares Terminal mit der Abfrage öffnen?
Zur Not würde ich das Passwort in einer Datei zwischenspeichern und anschließend wieder löschen.

Aber funktioniert das mit dem Terminal öffnen und der Abfrage?

Also auch das funktioniert irgendwie nicht.
Ich bin als user angemeldet und führe gedit aus. STARTET
Ich bin als user angmeldet und mit (su) im Terminal angemeldet und führe gedit aus. STARTET NICHT

Also ich habe folgendes herausgefunden...
Wenn ich als user angemeldet bin und im terminal folgendes ausführe:

Code: Alles auswählen

xhost +
Kann ich anschließend auch mit dem (su) angemeldeten user im Terminal die Anwendung starten.
Jedoch muss dies mein angemeldeter User ausführen. Kann man sich das Recht nicht irgendwie als root (su) selbst holen?

Antworten