ubuntuusers.de

Passphrase von USB-Stick einlesen

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Audio_Mark

Anmeldungsdatum:
2. Februar 2008

Beiträge: 30

Ich möchte mich über ssh in einen Server einloggen und habe mir dazu ein Schlüsselpaar erstellt. Der private Schlüssel ist durch eine Passphrase geschützt.

Ich möchte eine Textdatei mit der Passphrase auf einem USB-Stick speichern und automatisch einlesen, wenn der USB-Stick eingesteckt ist.

Der folgende Versuch funktioniert schon mal nicht; die Passphrase wird immer noch abgefragt.

1
2
3
cat /pfad/zu/passphrase.txt | ssh user@server

Enter passphrase for key '.....

Wie kann ich die Passphrase aus der Textdatei einlesen und an den ssh-Aufruf übergeben?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13365

Wozu der ganze Aufwand, wenn Du die Passphrase sowieso im Klartext auf dem Stick speicherst?

Der viel sicherere Ansatz ist, ssh-add zu benutzen. Dann musst Du pro Desktop-Sitzung nur einmal die Passphrase angeben und ssh' kann den Schlüssel dann für mehrere Verbindungen nutzen, ohne dass Du jedes Mal die Passphrase angeben musst. PS: Dein Ansatz mit der Pipe funktioniert so sowieso nicht, weil Du dann nach der Passphrase keine Tastatureingaben an die interaktive ssh schicken kannst.

Audio_Mark

(Themenstarter)

Anmeldungsdatum:
2. Februar 2008

Beiträge: 30

Der USB-Stick stellt dann ein physikalisches Token dar; nur wer im Besitz des Sticks ist, kann auf bestimmte Ressourcen zugreifen.

rklm schrieb:

PS: Dein Ansatz mit der Pipe funktioniert so sowieso nicht, weil Du dann nach der Passphrase keine Tastatureingaben an die interaktive ssh schicken kannst.

Es war ja ein Grund für die Frage, dass der Ansatz mit der Pipe nicht funktioniert ...

coraggioso

Anmeldungsdatum:
22. August 2025

Beiträge: 456

Ein physikalischer Token sollte aber nicht einfach so reproduzierbar sein, wie ein gewöhnlicher unverschlüsselter USB-Stick.

Wenn du schon so etwas machst, dann nur mit einem USB-Stick dessen Partition mit LUKS (oder vergleichbar) verschlüsselt ist und daher nicht einfach ausgelesen und die darauf befindliche Passphrase kopierbar oder auslesbar ist.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17672

Wohnort: Berlin

Audio_Mark schrieb:

Ich möchte mich über ssh in einen Server einloggen und habe mir dazu ein Schlüsselpaar erstellt. Der private Schlüssel ist durch eine Passphrase geschützt.

Die Frage ist ja immer, gegen wen man sich schützen muss. Gegen den kleinen, neugierigen Bruder oder gegen Industriespionage usw.

Gegen versehentlichen Verlust des Sticks?

Ich möchte eine Textdatei mit der Passphrase auf einem USB-Stick speichern und automatisch einlesen, wenn der USB-Stick eingesteckt ist.

Der folgende Versuch funktioniert schon mal nicht; die Passphrase wird immer noch abgefragt.

1
2
3
cat /pfad/zu/passphrase.txt | ssh user@server

Enter passphrase for key '.....

Wie kann ich die Passphrase aus der Textdatei einlesen und an den ssh-Aufruf übergeben?

Ich meine, dass man da mit expect weiterkommen könnte, aber habe das nie intensiv benutzt; vielleicht ein Irrtum.

Hat jmd./haben mehrere Leute u.U. Zugriff auf den Rechner mit dem Script?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11309

Wohnort: München

sshpass wäre eine Möglichkeit, die das intern ähnlich wie die Lösung mit expect macht - das unterstützt es das Passwort aus der ersten Zeile einer Datei zu lesen: https://manpages.ubuntu.com/manpages/jammy/man1/sshpass.1.html

Also z.B. so ein Aufruf:

sshpass -f /pfad/zu/passphrase.txt ssh user@server 
Antworten |