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.
Computer Start Script mit Popup für SSH Benutzer/Passwort
Computer Start Script mit Popup für SSH Benutzer/Passwort
Zuletzt geändert von joe2017 am 25.11.2020 12:16:57, insgesamt 2-mal geändert.
Re: Computer Start Script mit Popup für SSH Benutzer/Passwort
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:
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
Re: Computer Start Script mit Popup für SSH Benutzer/Passwort
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.
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
Re: Computer Start Script mit Popup für SSH Benutzer/Passwort
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:
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?
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 +
Jedoch muss dies mein angemeldeter User ausführen. Kann man sich das Recht nicht irgendwie als root (su) selbst holen?