Generieren Sie ein verschlüsseltes Passwort für eine GNU-Bildschirmsitzung

551
KrisWebDev

Wie programmiere ich ein Passwort für eine GNU-Bildschirmsitzung ?

Um ein Passwort für einen vorhandenen GNU-Bildschirm zu definieren, müssen wir normalerweise:

  • Starten Sie einen Bildschirm
  • Do Ctrl+A :password
  • Beim erneuten Einfügen fragt der Bildschirm nach dem Passwort

Und um das Passwort auf neue Bildschirmsitzungen anzuwenden:

  • Do Ctrl+A ]
  • Kopieren Sie das verschlüsselte Passwort
  • Geben Sie das verschlüsselte Kennwort ~/.screenrc (oder eine benutzerdefinierte Datei) vor der passwordAnweisung ein
  • Beim nächsten Start ( screen -c "/path/to/custom_screenrcfür benutzerdefinierte Dateien) werden Sie nach dem Kennwort gefragt

Dies ist eine Menge manueller Schritte, um ein verschlüsseltes Passwort generieren zu lassen.

Ich möchte einen Befehl ausführen, um das verschlüsselte Kennwort zu erstellen, das eingegeben werden soll .screenrc.

3

1 Antwort auf die Frage

2
KrisWebDev

Der GNU-Bildschirm verwendet eine GNU-Crypt-C-Bibliothek ( Wikipedia, Handbuch ) mit DES-Verschlüsselung und einem zufälligen Salt, der aus 2 zufälligen alphabetischen Großbuchstaben besteht.

Verwenden wir also mkpasswdaus einem whoisPaket, das auf derselben Bibliothek basiert:

sudo apt-get install whois

Dann generieren Sie das verschlüsselte Passwort:

(echo -n "password "; mkpasswd -m des -S SO "test") >> ~/.screenrc 

Beim nächsten Start eines neuen Bildschirms werden Sie nach dem Kennwort gefragt.

Alternative, um das Passwort nur für bestimmte (neue) Bildschirme anzuwenden:

tmpconfig="$(mktemp /tmp/.screenrc-XXXXXX)" (echo -n "password "; mkpasswd -m des -S SO "test") > "$tmpconfig" screen -c "$tmpconfig" rm "$tmpconfig" 

Sie können die Temp-Konfigurationsdatei sicher löschen, sobald der Bildschirm gestartet wird. Das verschlüsselte Passwort wird nach dem Start im Speicher abgelegt.

Hinweis:

  • test ist das Passwort.
  • SOist das Salz. Sie können dieses Salt beibehalten oder durch zwei beliebige alphabtetische Großbuchstaben ersetzen, dh ^[A-Z]$in regulärer Ausdrücksprache. Nur für Informationen (und für Brute-Forcer) sind die ersten beiden Zeichen des verschlüsselten Kennworts tatsächlich das Salz.
  • Speichern Sie die temporären Screen-Conf-Dateien zusätzlich, indem Sie sie /run/shmanstelle von auf der Festplatte im RAM speichern /tmp.