Ssh-agent: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Bindung an die Desktop-Session: KDE, ksshaskpass)
K (Windows)
 
(18 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{UnderConstruction}}
+
{{Lückenhaft|Bindung an andere Desktops ausser KDE}}--[[Benutzer:Gehrke|Gehrke]] ([[Benutzer Diskussion:Gehrke|Diskussion]]) 11:13, 27. Nov. 2013 (CET)
  
Das Programm ''ssh-agent'' aus der Programmfamilie [[ssh]] ermöglicht die kurzfristige Speicherung von Passphrases, welche zur Absicherung von ssh-Keys verwendet werden. Dadurch entfällt für den Zeitraum der Speicherung die Notwendigkeit, für jede Verwendung des Keys die Passphrase eingeben zu müssen.
+
Das Programm ''ssh-agent'' aus der Programmfamilie [[ssh]] ermöglicht die kurzfristige Speicherung von Passphrases im Arbeitsspeicher, welche zur Absicherung von ssh-Keys verwendet werden. Dadurch entfällt für den Zeitraum der Speicherung die Notwendigkeit, für jede Verwendung des Keys die Passphrase eingeben zu müssen.
  
 
=Einführung=
 
=Einführung=
Eine erhebliche Steigerung des Sicherheitslevels kann man erreichen, wenn für die Authentifizierung an einem ssh-Server das '''PublicKey-Verfahren''' anstatt eines Passwortes verwendet wird. Bei Wahl eines kryptographisch ausreichend starken Schlüssels wird erreicht, dass nur Personen zu einem Login berechtigt sind, die im '''Besitz des privaten Schlüssels''' sind.
+
Eine erhebliche Steigerung des Sicherheitslevels bei der Verwendung von ssh kann man erreichen, wenn für die Authentifizierung an einem ssh-Server ausschließlich das '''PublicKey-Verfahren''' anstatt der Passwort-Authentifizierung verwendet wird. Bei Wahl eines kryptographisch ausreichend starken Schlüssels wird erreicht, dass nur Personen zu einem Login berechtigt sind, die im '''Besitz des privaten Schlüssels''' sind.
  
 
Um das Schlüsselpaar gegen Missbrauch wie Diebstahl abzusichern, sollte es darüber hinaus bei der [[Einrichten von public keys mit ssh|Erzeugung]] mit einer ausreichend starken Passphrase geschützt werden. Problematisch ist in dieser Konstallation aber, dass bei jeder Verwendung des Schlüssels (also bei jedem Login) eine sichere (und damit lange und komplexe) Passphrase angegeben werden muss. Dies kann dazu führen, dass aus Bequemlichkeit kurze und unsichere Passphrases gewählt werden.
 
Um das Schlüsselpaar gegen Missbrauch wie Diebstahl abzusichern, sollte es darüber hinaus bei der [[Einrichten von public keys mit ssh|Erzeugung]] mit einer ausreichend starken Passphrase geschützt werden. Problematisch ist in dieser Konstallation aber, dass bei jeder Verwendung des Schlüssels (also bei jedem Login) eine sichere (und damit lange und komplexe) Passphrase angegeben werden muss. Dies kann dazu führen, dass aus Bequemlichkeit kurze und unsichere Passphrases gewählt werden.
Zeile 39: Zeile 39:
 
Passphrase des Standard-Schlüssels merken:
 
Passphrase des Standard-Schlüssels merken:
 
<pre>
 
<pre>
$ssh-add
+
$ ssh-add
 
Enter passphrase for /home/<user>/.ssh/id_dsa:  
 
Enter passphrase for /home/<user>/.ssh/id_dsa:  
 
</pre>
 
</pre>
Zeile 57: Zeile 57:
  
 
=Bindung an die Desktop-Session=
 
=Bindung an die Desktop-Session=
Es besteht die Möglichkeit, den Start des Programmes an den Start der jeweiligen Desktop-Session zu knüpfen. Hier wird dann unmittelbar nach dem Login in einem Dialog nach der benötigten Passphrase gefragt, welche dann bei entsprechend großem Timeout für die gesamte Sitzung gültig ist.
+
Es besteht die Möglichkeit, den Start des Programmes an den Start der jeweiligen Desktop-Session zu knüpfen. Hier wird unmittelbar nach dem Login und Start des Desktops in einem Dialog nach der benötigten Passphrase gefragt, welche dann bei entsprechend großem Timeout für die gesamte Sitzung gültig ist.
  
Die Lösung ist abhängig von der Wahl des [[Desktop Environments]] bzw, [[Windowmanager]]s.
+
Die Lösung ist abhängig von der Wahl des [[Desktop Environments]] bzw. [[Windowmanager]]s.
 
==KDE==
 
==KDE==
Unter [[KDE]] übernimmt das Programm [[ksshaskpass]] die Funktionalität der Abfrage der Passphrase über einen Dialog. Um beim Start des Destops aktiviert zu werden, wird es in den Autostart-Ordner über ein kleines Wrapper-Script (Berechtigungen beachten) aufgerufen:
+
{| style"border:0; width:100%;" valign=top |
 +
|-
 +
| style="align:left" valign=top|
 +
Unter [[KDE]] übernimmt das Programm [[ksshaskpass]] die Funktionalität der Abfrage der Passphrase über einen Dialog und bietet Support für den KDE-eigenen Passwort-Manager [[kwallet]]. Um beim Start des Destops aktiviert zu werden, wird es in den Autostart-Ordner über ein kleines Wrapper-Script (Ausführungs-Berechtigungen 'x' beachten) aufgerufen:
 +
| style="align:right; width:180px" valign=top|[[Bild:ksshaskpass-dialog.png|right|thumb|ksshaskpass - Eingabe der Passphrase]]
 +
|-
 +
|}
 +
{| style"border:0; width:100%;" valign=top |
 +
|-
 +
| style="align:left" valign=top|
 
<pre>
 
<pre>
 
$ cat ~/.kde4/Autostart/ssh-agent.sh
 
$ cat ~/.kde4/Autostart/ssh-agent.sh
 
#!/bin/sh
 
#!/bin/sh
export ssh_passphase=/usr/lib64/ssh/ksshaskpass > /dev/null
+
export ssh_passphase=ksshaskpass > /dev/null
 
/usr/bin/ssh-add  
 
/usr/bin/ssh-add  
  
Zeile 71: Zeile 80:
 
lrwxrwxrwx 1 <user> users 27  7. Jan 2012  /home/<user>/.kde4/Autostart/ssh-agent.sh -> /home/<user>/bin/ssh-agent.sh
 
lrwxrwxrwx 1 <user> users 27  7. Jan 2012  /home/<user>/.kde4/Autostart/ssh-agent.sh -> /home/<user>/bin/ssh-agent.sh
 
</pre>
 
</pre>
 +
|-
 +
|}
 +
 +
= Windows =
 +
Von Windows aus kann Software wie [[Mit_putty_und_ssh_key_auf_einen_sicheren_Linux_Server_zugreifen | PuTTY]] oder WinSCP verwendet werden:
 +
* http://www.putty.org/
 +
* https://winscp.net/eng/docs/lang:de
  
 
= Links =
 
= Links =
Zeile 76: Zeile 92:
 
*[[Einrichten von public keys mit ssh]]
 
*[[Einrichten von public keys mit ssh]]
  
[[Category:Security]] [[Category:Netzwerk]]
+
[[Category:Security]] [[Category:Netzwerk]] [[Category:KDE]]

Aktuelle Version vom 13. September 2015, 15:16 Uhr

Höhe=24px Dieser Artikel oder Abschnitt ist noch unvollständig und weist folgende Lücken auf:

Bindung an andere Desktops ausser KDE
Hilf LinuxClubWiki, indem du ihn erweiterst und ihn jetzt vervollständigst!

--Gehrke (Diskussion) 11:13, 27. Nov. 2013 (CET)

Das Programm ssh-agent aus der Programmfamilie ssh ermöglicht die kurzfristige Speicherung von Passphrases im Arbeitsspeicher, welche zur Absicherung von ssh-Keys verwendet werden. Dadurch entfällt für den Zeitraum der Speicherung die Notwendigkeit, für jede Verwendung des Keys die Passphrase eingeben zu müssen.

Einführung

Eine erhebliche Steigerung des Sicherheitslevels bei der Verwendung von ssh kann man erreichen, wenn für die Authentifizierung an einem ssh-Server ausschließlich das PublicKey-Verfahren anstatt der Passwort-Authentifizierung verwendet wird. Bei Wahl eines kryptographisch ausreichend starken Schlüssels wird erreicht, dass nur Personen zu einem Login berechtigt sind, die im Besitz des privaten Schlüssels sind.

Um das Schlüsselpaar gegen Missbrauch wie Diebstahl abzusichern, sollte es darüber hinaus bei der Erzeugung mit einer ausreichend starken Passphrase geschützt werden. Problematisch ist in dieser Konstallation aber, dass bei jeder Verwendung des Schlüssels (also bei jedem Login) eine sichere (und damit lange und komplexe) Passphrase angegeben werden muss. Dies kann dazu führen, dass aus Bequemlichkeit kurze und unsichere Passphrases gewählt werden.

Das Programm ssh-agent umgeht dieses Problem, indem es für einen begrenzten Zeitraum die Schlüssel im Arbeitsspeicher hinterlegt. So wird es möglich, dass im betreffenden Zeitraum genau einmal die korrekte Passphrase eingegeben werden muss und beliebig viele password-lose Verbindungen zu allen ssh-Servern aufgebaut werden können, auf denen der öffentliche Schlüssel hinterlegt ist.

Warnung: Da der Schlüssel im RAM abgelegt wird, besteht prinzipiell ein gewisses Risiko, dass unberechtigt darauf zugegriffen wird:

Start/Stop

Starten des Programmes:

$ ssh-agent

Viele Distributionen starten den Agent schon automatisch. Der Parameter '-t' (Timeout) ermöglicht es, die Zeitspanne zu steuern, in welcher der Schlüssel im Arbeitsspeicher verbleibt. Diese Zeitspanne sollte unter Sicherheitsaspekten möglichst kurz sein (kurze Angriffszeit auf das RAM) und unter Bequemlichkeitsaspekten möglichst lang.

Stoppen des Programmes:

$ ssh-agent -k

Überprüfung, ob der Prozess schon läuft:

$ ps aux | grep ssh-agent

Oder durch Ausgabe der relevanten Umgebungsvariablen:

$ echo $SSH_AGENT_PID
25442

Schlüssel verwalten

Passphrase des Standard-Schlüssels merken:

$ ssh-add
Enter passphrase for /home/<user>/.ssh/id_dsa: 

Der Parameter '-d' erlaubt die Angabe eines Pfades, wenn nicht der Standardschlüssel hinzugefügt werden soll.

Eine Liste der aktuell verwalteten Schlüssel:

$ ssh-add -l
2048 53:f8:b2:84:9b:fc:12:d5:24:33:31:bb:66:22:7e:22 /home/<user>/.ssh/id_dsa (DSA)

Schlüssel nicht mehr verwalten (entfernen):

$ ssh-add -d
Identity removed: /home/<user>/.ssh/id_dsa ( <user desc>)

Bindung an die Desktop-Session

Es besteht die Möglichkeit, den Start des Programmes an den Start der jeweiligen Desktop-Session zu knüpfen. Hier wird unmittelbar nach dem Login und Start des Desktops in einem Dialog nach der benötigten Passphrase gefragt, welche dann bei entsprechend großem Timeout für die gesamte Sitzung gültig ist.

Die Lösung ist abhängig von der Wahl des Desktop Environments bzw. Windowmanagers.

KDE

Unter KDE übernimmt das Programm ksshaskpass die Funktionalität der Abfrage der Passphrase über einen Dialog und bietet Support für den KDE-eigenen Passwort-Manager kwallet. Um beim Start des Destops aktiviert zu werden, wird es in den Autostart-Ordner über ein kleines Wrapper-Script (Ausführungs-Berechtigungen 'x' beachten) aufgerufen:

ksshaskpass - Eingabe der Passphrase
$ cat ~/.kde4/Autostart/ssh-agent.sh
#!/bin/sh
export ssh_passphase=ksshaskpass > /dev/null
/usr/bin/ssh-add 

$ ls -l ~/.kde4/Autostart/ssh-agent.sh
lrwxrwxrwx 1 <user> users 27  7. Jan 2012  /home/<user>/.kde4/Autostart/ssh-agent.sh -> /home/<user>/bin/ssh-agent.sh

Windows

Von Windows aus kann Software wie PuTTY oder WinSCP verwendet werden:

Links