SSH Auto-Login mittels Passphrase und Key

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

SSH Auto-Login mittels Passphrase und Key

Beitrag von weshalb » 02.11.2018 15:22:12

Hallo, ich mache derzeit mittels Rsync unter Stretch Backups über Lan und habe dazu ein Schlüsselpaar ohne Passphrase erstellt, da die Anmeldung via Cron läuft.

Da mir das zu unsicher ist, wollte ich das nun abändern. Man stößt beim Suchen dann auf "ssh-agent", aber auch gleich auf irgendwelche Schwierigkeiten, die es durchaus geben kann.

Wie kann man das sich überhaupt vorstellen?
  • Ich gebe nur einmal die Passphrase ein, diese befindet sich im Speicher und wird für die Verbindung genutzt?
  • Wenn ich den Server neu starte, muss ich die Passphrase wieder einmalig neu eingeben?
Welche Lösung ist derzeit die Beste und was muss man noch beachten?

vielen Dank für Antworten

Benutzeravatar
smutbert
Moderator
Beiträge: 8318
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von smutbert » 02.11.2018 15:40:23

Ja, du erstellst ein Schlüsselpaar und trägst den öffentlichen Schlüssel auf dem Server in ~/.ssh/authorized_keys ein.

Der private Schlüssel kann, muss aber nicht, beim Erstellen durch eine Passphrase geschützt (verschlüsselt) werden. Verschlüsselt man den privaten Schlüssel nicht, gibt also keine (bzw. eine leere) Passphrase ein, braucht man bei der Anmeldung gar nichts zu machen.

Den öffentlichen Schlüssel braucht man ohnehin nicht zu schützen (wenn den jemand in die Hände bekommt, kann er nur dafür sorgen, dass du dich an seinem SSH-Server anmelden kannst) → die Passphrase wird nur am Client abgefragt, ob der Server neu gestartet wird oder nicht spielt keine Rolle.

Ob und wie lange der ssh-agent die Passphrase den unverschlüsselten privaten Schlüssel im Speicher behält kann man bestimmt konfigurieren – ich interpretiere das Verhalten in der default-Konfiguration bei mir so, dass ich für die gesamte restliche Sitzung keine Passphrase mehr eingeben muss.
Ich denke nicht, dass sich der Schutz mittels Passphrase mit cron oder allgemein nicht interaktiv überhaupt (sinnvoll) nutzen lässt, lasse mich da aber gerne eines besseren belehren.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von MSfree » 02.11.2018 15:49:19

weshalb hat geschrieben: ↑ zum Beitrag ↑
02.11.2018 15:22:12
Hallo, ich mache derzeit mittels Rsync unter Stretch Backups über Lan und habe dazu ein Schlüsselpaar ohne Passphrase erstellt, da die Anmeldung via Cron läuft.
Ist dir die Verschlüsselung im LAN wichtig?

Du kannst rsync nämlich auch ohne SSH nutzen, indem du auf dem Server einen rsync-Serverdienst einrichtest.

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von weshalb » 02.11.2018 16:39:51

smutbert hat geschrieben: ↑ zum Beitrag ↑
02.11.2018 15:40:23
Ich denke nicht, dass sich der Schutz mittels Passphrase mit cron oder allgemein nicht interaktiv überhaupt (sinnvoll) nutzen lässt, lasse mich da aber gerne eines besseren belehren.
Den Key so ganz ohne Passphrase einzusetzen mache ich ja bereits, doch das finde ich nicht sicher.
MSfree hat geschrieben: ↑ zum Beitrag ↑
02.11.2018 15:49:19
Ist dir die Verschlüsselung im LAN wichtig?

Du kannst rsync nämlich auch ohne SSH nutzen, indem du auf dem Server einen rsync-Serverdienst einrichtest.
Ja, die Verschlüsselung ist mir wichtig. Zudem ich zusätzlich über das Internet ebenfalls Backups fahre.

DeletedUserReAsG

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von DeletedUserReAsG » 02.11.2018 18:17:59

In dem Kontext: wenn ich weiß, dass ich einen Schlüssel nicht nur einmal benötigen werde, nutze ich ssh-add [/pfad/zum/Schlüssel], gebe die Passphrase ein und brauche mich den Rest der Session nicht weiter drum zu kümmern. In der Default-Config bleibt der Schlüssel dann solange verfügbar, bis der User sich lokal abmeldet.

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von weshalb » 02.11.2018 18:41:58

niemand hat geschrieben: ↑ zum Beitrag ↑
02.11.2018 18:17:59
In der Default-Config bleibt der Schlüssel dann solange verfügbar, bis der User sich lokal abmeldet.
Ok, doch wie verhält es sich mit Rsync? Wenn ich mich nicht irre, wird nach dem Backup die Verbindung getrennt.

Ich suche nach einer Möglichkeit, dass das Anmelden per SSH, welches durch mein Script geschieht, was wiederrum durch Cron angestoßen wird, so sicher wie möglich ist.

Ich dachte, dass ich einmal die Verbindung aufbaue und wieder abbauen kann, sich allerdings die Passphrase weiterhin im Speicher befindet und für die nächsten Sessions abgerufen werden kann.

Berichtigt mich bitte, ob ich falsch liege.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: SSH Auto-Login mittels Passphrase und Key

Beitrag von ThorstenS » 03.11.2018 09:59:45

aus apt show keychain
Keychain ist eine Schlüsselverwaltung für OpenSSH. Sie wird normalerweise aus
~/.bash_profile gestartet. Beim Start prüft keychain auf einen aktiven ssh-
agent, andernfalls wird einer gestartet. Keychain speichert die ssh-agent-
Umgebungsvariablen in ~/.keychain/\$\{HOSTNAME\}-sh, damit nachfolgende
Anmeldungen und nicht-interaktive Shells wie Cron-Jobs diese Datei nutzen und
passwortlose SSH-Verbindungen benutzen können. Wenn keychain läuft,
verifiziert das Programm zusätzlich, dass die auf der Befehlszeile angegebenen
Dateien ssh-agent bekannt sind; sonst werden sie geladen und Sie - wenn nötig
- nach einem Passwort gefragt.

Bei mir steht exakt das in der .bashrc
if [ -f ~/.ssh/id_ed25519.key ]; then
keychain --nogui -q ~/.ssh/id_ed25519.key
source ~/.keychain/${HOSTNAME}-sh
fi

Antworten