Ich schreibe ein Bash-Skript in Linux, um mich per Remote auf eine Windows-Box zuzugreifen. Ich möchte den aktuellen Benutzer und das Passwort für diesen Benutzer erfassen, damit das Skript ihn bei der TS-Sitzung anmeldet. Ich erstelle einen Thin Client mit Linux.
Antwort1
Ich fürchte, das System kennt Ihr Passwort nicht. Niemals. Es kennt nur eine Art Hash Ihres Passworts. Es liegt in der Natur von Hashes, dass sie nicht wieder in Klartext umgewandelt werden können. Wenn Sie Ihr Passwort eingeben, verwendet das System dieselbe Hash-Funktion, die zum Erstellen des Passworts verwendet wurde, und vergleicht die Hashes. Das Erfassen des Passworts ist also erstens keine gute Idee, es in einem selbst erstellten Bash-Skript im Klartext herumschwirren zu lassen, es sei denn, Sie sind ein absoluter Linux-Sicherheitsexperte und wissen, was Sie tun. Zweitens: Aus gutem Grund völlig unmöglich.
Es gibt jedoch auch andere Möglichkeiten, sich passwortlos anzumelden. Beispielsweise SSH/SSH-Server
bietet Authentifizierung mit einem öffentlichen/privaten Schlüsselsystem. Oder Sie können eine Single-Sign-On-Umgebung verwenden, wie dies mit Kerberos möglich ist. Da die zweite Option ziemlich übertrieben ist, wenn sie nicht bereits in Ihrem Netzwerk vorhanden ist, sollten Sie die schlüsselbasierte SSH-Authentifizierung verwenden. Es gibt eineFrage auf askUbuntudarüber. Sie müssen jedoch ein SSDD für Windows finden. WikipediaListeneinige. Dies wird höchstwahrscheinlich Ihren Zugriff auf die Windows-Box auf die Textkonsole beschränken.
Krdc
Für GUI-Logins möchten Sie vielleicht mit oder herumstöbern Remmina
. Aber ich weiß nicht, wie gut Sie sie in ein Skript integrieren können, ganz zu schweigen von passwortlosen Logins.
Antwort2
Geben Sie den Befehl im Terminal ein
$ sudo apt-get install zenity
Dann möchten Sie Ihr Bash-Skript mit dem folgenden Inhalt erstellen:
zenity --password