- Lade zunächst den "PuTTY Key Generator" (PuTTYgen) herunter: http://the.earth.li/~sgtatham/putty/lat ... ttygen.exe
- Nach dem Öffnen des Programms achte darauf, dass unter der GroupBox "Parameters" der Schlüsseltyp "SSH-2RSA" ausgewählt ist. Die Schlüsselstärke sollte mindestens "2048" Bits betragen.
- Klicke auf "Generate" und bewege die Maus innerhalb der "Key"-Groupbox solange, bis der Schlüssel generiert wurde.
- Unter "Key comment" gibst du bitte einen aussagekräftigen Kommentar an (z.B. deinen Namen oder die Aufgabe für den du ihn verwenden willst).
- Ganz wichtig: Vergebe ein Passwort unter "Key passphrase" für deinen SSH Schlüssel und wiederhole es im Feld "Confirm passphrase". Damit ist für die Verwendung deines SSH Schlüssels immer eine Passwort-Eingabe notwendig. Sollte jemand den Schlüssel in die Finger bekommen, so kann er damit nichts anfangen. Verwende also ein sicheres Passwort!
- Speichere nun den öffentlichen Schlüssel ab, indem du auf "Save public key" klickst. Diesen Schlüssel musst du auf allen SSH-Servern einbinden, auf die du Zugriff haben willst.
- Speichere nun deinen privaten Schlüssel ab, indem du auf "Save private key" klickst.
- Der erstellte private Schlüssel ist nur mit dem Programm "Pageant" (http://the.earth.li/~sgtatham/putty/lat ... ageant.exe) unter Windows lesbar. Möchtest du diesen auch unter Linux verwenden, so klicke im Menü "Conversions" auf "Export OpenSSH key.".
- Lade nun das Programm "Pageant" heruner: http://the.earth.li/~sgtatham/putty/lat ... ageant.exe
- Erstelle eine Verknüpfung zu der Programm-EXE im "Autostart"-Ordner deines Startmenüs, damit es beim Laden von Windows automatisch ausgeführt wird.
- Starte das Programm. Klicke auf "Add Key" und füge deinen privaten SSH Schlüssel hinzu.
- Solange der Pageant ausgeführt wird, wird bei jedem Aufbau von SSH-Verbindungen versucht einen deiner hinterlegten Schlüssel zur Authentifizierung am Server zu verwenden.
- Zum Erzeugen eines Schlüssel-Paares mit einer Länge von 2048 Bits, gebe folgenden Befehl ein:
Soll der Schlüssel länger sein, dann erweitere o.g. Befehl um den Parameter "-b" gefolgt von deiner gewünschten Schlüssellänge.
Code: Alles auswählen
ssh-keygen -t ed25519 -C "Kommentar"
Der "Kommentar" sollte aussagekräftig sein (z.B. deinen Namen oder die Aufgabe für den du ihn verwenden willst.). - Als nächstes wirst du nach dem Speicherort gefragt für die Schlüssel gefragt. In Klammern wird der Standard-Speicherort angezeigt. Bist du damit zufrieden, drücke einfach Enter. Ansonsten gebe den Speicherort ein.
- Ganz wichtig: Vergebe bei der Aufforderung "Enter passphrase" unbedingt ein Passwort, drücke Enter und bestätige es anschließend nochmals. Damit ist für die Verwendung deines SSH Schlüssels immer eine Passwort-Eingabe notwendig. Sollte jemand den Schlüssel in die Finger bekommen, so kann er damit nichts anfangen. Verwende also ein sicheres Passwort!
- Hier noch ein SSH-Agent Skript, welches du in die ".bashrc" eintragen kannst. Damit brauchst du nur einmal pro PC-Start dein Kennwort für deinen SSH-Schlüssel eingeben:
Code: Alles auswählen
# Note: ~/.ssh/environment should not be used, as it # already has a different purpose in SSH. env=~/.ssh/agent.env # Note: Don't bother checking SSH_AGENT_PID. It's not used # by SSH itself, and it might even be incorrect # (for example, when using agent-forwarding over SSH). agent_is_running() { if [ "$SSH_AUTH_SOCK" ]; then # ssh-add returns: # 0 = agent running, has keys # 1 = agent running, no keys # 2 = agent not running ssh-add -l >/dev/null 2>&1 || [ $? -eq 1 ] else false fi } agent_has_keys() { ssh-add -l >/dev/null 2>&1 } agent_load_env() { . "$env" >/dev/null } agent_start() { (umask 077; ssh-agent >"$env") . "$env" >/dev/null } if ! agent_is_running; then agent_load_env fi if ! agent_is_running; then agent_start ssh-add elif ! agent_has_keys; then ssh-add fi unset env