Unterschiede zwischen den Revisionen 1 und 20 (über 19 Versionen hinweg)
Revision 1 vom 2008-11-05 15:23:29
Größe: 929
Autor: napoleon
Kommentar:
Revision 20 vom 2023-05-08 07:59:39
Größe: 4444
Autor: manal
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
=== OpenSSH: Public Key Authentication konfigurieren === ## page was renamed from SSH/OpenSSH: Public Key Authentication konfigurieren
## page was renamed from OpenSSH: Public Key Authentication konfigurieren
== OpenSSH: Public Key Authentication konfigurieren ==
Als "Public Key Authentication" bezeichnet man eine Methode, um sich z.B. an einem SSH-Server mit Hilfe eines Schlüsselpaares anzumelden. Das Schlüsselpaar besteht dabei aus dem ''Private Key'' und dem ''Public Key''. Der öffentliche Schlüssel wird auf dem Server hinterlegt, während der private Schlüssel sich allein im Besitz des Clients befindet und unter allen Umständen geheim gehalten werden sollte.
Zeile 3: Zeile 6:
   1. Key generieren:
      ssh-keygen -b 2048 -t rsa
      erzeugt in ~/.ssh die Dateien id_rsa und id_rsa.pub
      Achtung! Dabei auf eine Passphrase zu verzichten, bedeutet ein erhebliches Sicherheitsrisiko. Falls der private Key in fremde Hände gerät, kann weltweit von jedem System aus ein ssh-Zugang eingeleitet werden.
      Zusätzlich kann man bei Bedarf mit dem Parameter -f $DATEINAME bestimmen wie die Dateinamen des neu erzeugten Schlüsselpaars heissen sollen.
   2. "Authorization" Datei sicher anlegen:
      Datei ~/.ssh/authorized_keys anlegen und auf mode 600 setzen:
      touch ~/.ssh/authorized_keys ; chmod 600 ~/.ssh/authorized_keys
   3. Authorization Datei füllen:
      Public Keys vertrauenswürdiger Rechner in die authorized_keys aufnehmen, ein Key pro Zeile, z.B. mit
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys"
Hierzu besteht die Möglichkeit, den privaten Schl&uuml;ssel zusätzlich mit einer sogenannten ''"Passphrase"'' abzusichern.<<BR>>

/!\ '''Achtung!''' Auf eine ''Passphrase'' zu verzichten, bedeutet ein erhebliches Sicherheitsrisiko. Falls der ''Private Key'' in fremde Hände gerät, kann weltweit von jedem System aus ein ssh-Zugang eingeleitet werden.<<BR>>

So gesichert kann man seinen privaten Schl&uuml;ssel immer dabei haben (USB-Stick, Diskette, SmartCard, Notebook...), wenn man von unterwegs auf den jeweiligen Dienst zugreifen m&ouml;chte.
<<BR>>
<<BR>>
Um eine "Public Key Authentication" f&uuml;r die Anmeldung an SSH-Servern des FB3 per OpenSSH einzurichten, sind die folgenden Schritte zu beachten:


=== 1. Key generieren: ===
 Um ein Schl&uuml;sselpaar zu erzeugen, kann auf dem Client-Rechner das folgende Kommando ausgef&uuml;hrt werden:

 {{{
ssh-keygen -t ed25519
}}}

 Es erzeugt in {{{~/.ssh}}} die Dateien {{{id_ed25519}}} (''Private Key'') und {{{id_ed25519.pub}}} (''Public Key''). Mit dem Parameter {{{-f $DATEINAME}}} k&ouml;nnen die Dateinamen und -pfade angepasst werden.<<BR>><<BR>>

 /!\ '''Achtung!''' Dabei auf eine ''Passphrase'' zu verzichten, bedeutet ein erhebliches Sicherheitsrisiko. Falls der ''Private Key'' in fremde Hände gerät, kann weltweit von jedem System aus ein ssh-Zugang eingeleitet werden.<<BR>>

=== 2. "Authorization" Datei sicher anlegen: ===
 Der soeben erzeugte ''Public Key'' ({{{~/.ssh/id_ed25519.pub}}}) kann nun auf dem Server installiert werden. Wenn man ihn im eigenen Home-Verzeichnis des Fachbereichs hinterlegt, ist er automatisch auf den meisten Linux/Unix-Rechnern des Fachbereichs verf&uuml;gbar. Dazu muss zun&auml;chst die Datei angelegt werden, in die alle verwendeten ''Public Keys'' eingetragen werden. Die Datei sollte aus Sicherheitsgr&uuml;nden nur f&uuml;r den Benutzer les- und schreibbar sein (Mode 600).

 {{{
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
}}}

 /!\ Das {{{~/.ssh}}}-Verzeichnis und das ''Home-Verzeichnis'' sowohl auf dem '''Client-Rechner''' als auch beim '''Fachbereichs-Account''' dürfen '''keine Schreibrechte für Andere''' gesetzt haben, weil sonst das ''Strict Mode Checking'' von SSH die Verwendung der dort stehenden Schlüssel nicht erlaubt.

 Die richtigen Verzeichnisrechte lassen sich mit
 {{{
 chmod u=rwx ~/.ssh
 chmod go-w ~
}}}
 setzen.
=== 3. Authorization Datei füllen: ===
 Als letztes muss noch der ''Public Key'' in die eben erzeugte Datei {{{authorized_keys}}} aufgenommen werden. Es k&ouml;nnen auch mehrere ''Public Keys'' aufgenommen werden, wobei zu beachten ist, dass jeder Schl&uuml;ssel in einer eigenen Zeile stehen muss.

 {{{
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
}}}


=== 4. Verwenden des Private Keys ===
 Um sich nun mithilfe des ''Private Keys'' an einem SSH-Server des FB3 zu authentifizieren, muss dem Client der Pfad zur Datei, in der dieser abgelegt ist, mitgeteilt werden. Dafür gibt es mehrere Möglichkeiten:<<BR>><<BR>>

 '''4.1 Kommandozeile:'''<<BR>>
 Man kann den Pfad zum ''Private Key'' in der Kommandozeile übergeben. Dies geschieht mit der Option {{{-i}}}.
 {{{
ssh -i .ssh/privatekey zielhost
}}}

 '''4.2 Konfigurationsdatei:'''<<BR>>
 In der Datei {{{~/.ssh/config}}} kann man unter anderem mehrere Pfade zu ''Private Keys'' Eintragen. So eine Datei könnte z.B. so aussehen:
 {{{
IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/privatekey
IdentityFile ~/.ssh/pricatekey2
}}}

=== Alternative: Web-GUI ===
Die Schritte 2. und 3. lassen sich auch alternativ über das [[https://www.fb3.uni-bremen.de/ssh-pubkey/|PubKey-Web-Interface]] ausführen.<<BR>>
(!) Damit lassen sich auch neue ''Public Keys'' von außerhalb importieren.

OpenSSH: Public Key Authentication konfigurieren

Als "Public Key Authentication" bezeichnet man eine Methode, um sich z.B. an einem SSH-Server mit Hilfe eines Schlüsselpaares anzumelden. Das Schlüsselpaar besteht dabei aus dem Private Key und dem Public Key. Der öffentliche Schlüssel wird auf dem Server hinterlegt, während der private Schlüssel sich allein im Besitz des Clients befindet und unter allen Umständen geheim gehalten werden sollte.

Hierzu besteht die Möglichkeit, den privaten Schlüssel zusätzlich mit einer sogenannten "Passphrase" abzusichern.

/!\ Achtung! Auf eine Passphrase zu verzichten, bedeutet ein erhebliches Sicherheitsrisiko. Falls der Private Key in fremde Hände gerät, kann weltweit von jedem System aus ein ssh-Zugang eingeleitet werden.

So gesichert kann man seinen privaten Schlüssel immer dabei haben (USB-Stick, Diskette, SmartCard, Notebook...), wenn man von unterwegs auf den jeweiligen Dienst zugreifen möchte.

Um eine "Public Key Authentication" für die Anmeldung an SSH-Servern des FB3 per OpenSSH einzurichten, sind die folgenden Schritte zu beachten:

1. Key generieren:

  • Um ein Schlüsselpaar zu erzeugen, kann auf dem Client-Rechner das folgende Kommando ausgeführt werden:

    ssh-keygen -t ed25519

    Es erzeugt in ~/.ssh die Dateien id_ed25519 (Private Key) und id_ed25519.pub (Public Key). Mit dem Parameter -f $DATEINAME können die Dateinamen und -pfade angepasst werden.

    /!\ Achtung! Dabei auf eine Passphrase zu verzichten, bedeutet ein erhebliches Sicherheitsrisiko. Falls der Private Key in fremde Hände gerät, kann weltweit von jedem System aus ein ssh-Zugang eingeleitet werden.

2. "Authorization" Datei sicher anlegen:

  • Der soeben erzeugte Public Key (~/.ssh/id_ed25519.pub) kann nun auf dem Server installiert werden. Wenn man ihn im eigenen Home-Verzeichnis des Fachbereichs hinterlegt, ist er automatisch auf den meisten Linux/Unix-Rechnern des Fachbereichs verfügbar. Dazu muss zunächst die Datei angelegt werden, in die alle verwendeten Public Keys eingetragen werden. Die Datei sollte aus Sicherheitsgründen nur für den Benutzer les- und schreibbar sein (Mode 600).

    touch ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

    /!\ Das ~/.ssh-Verzeichnis und das Home-Verzeichnis sowohl auf dem Client-Rechner als auch beim Fachbereichs-Account dürfen keine Schreibrechte für Andere gesetzt haben, weil sonst das Strict Mode Checking von SSH die Verwendung der dort stehenden Schlüssel nicht erlaubt. Die richtigen Verzeichnisrechte lassen sich mit

     chmod u=rwx ~/.ssh
     chmod go-w ~
    setzen.

3. Authorization Datei füllen:

  • Als letztes muss noch der Public Key in die eben erzeugte Datei authorized_keys aufgenommen werden. Es können auch mehrere Public Keys aufgenommen werden, wobei zu beachten ist, dass jeder Schlüssel in einer eigenen Zeile stehen muss.

    cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys

4. Verwenden des Private Keys

  • Um sich nun mithilfe des Private Keys an einem SSH-Server des FB3 zu authentifizieren, muss dem Client der Pfad zur Datei, in der dieser abgelegt ist, mitgeteilt werden. Dafür gibt es mehrere Möglichkeiten:

    4.1 Kommandozeile:
    Man kann den Pfad zum Private Key in der Kommandozeile übergeben. Dies geschieht mit der Option -i.

    ssh -i .ssh/privatekey zielhost

    4.2 Konfigurationsdatei:
    In der Datei ~/.ssh/config kann man unter anderem mehrere Pfade zu Private Keys Eintragen. So eine Datei könnte z.B. so aussehen:

    IdentityFile ~/.ssh/id_ed25519
    IdentityFile ~/.ssh/privatekey
    IdentityFile ~/.ssh/pricatekey2

Alternative: Web-GUI

Die Schritte 2. und 3. lassen sich auch alternativ über das PubKey-Web-Interface ausführen.
(!) Damit lassen sich auch neue Public Keys von außerhalb importieren.

SSH/OpenSSH_PubKey_Config (zuletzt geändert am 2023-05-08 07:59:39 durch manal)