Windows


OpenSSH-Agent, Putty und SSH-Keys

OpenSSH-Agent, Putty und SSH-Keys

OpenSSH-Agent Setup

Alle Befehle auf dieser Seite sind in einer Administrator Powershell auszuführen.

1. Setup SSH-Agent Windows Dienst

  1. Mit dem Befehl kannst du überprüfen ob du den Dienst bereits installiert hast:
    Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

    Wenn die Ausgabe so aussieht hast du bereits den notwendigen Dienst installiert und kannst bei der Installation von Putty fortfahren:

    grafik.png

  2. Wenn bei "State : NotPresent" steht aktualisiere die optionalen Features mit diesem Befehl:
    Get-AppXPackage -AllUsers -Name windows.immersivecontrolpanel | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" -Verbose}
  3. Anschließend Installierst du den OpenSSH-Client mit dem Befehl:
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  4. Als letztes noch den Dienst starten und für den Autostart beim Hochfahren eintragen:
    Start-Service ssh-agent
    Set-Service -Name ssh-agent -StartupType 'Automatic'
OpenSSH-Agent, Putty und SSH-Keys

Putty Setup

1. Putty Download

grafik.png

2. Installation

1. Doppelklicken zum Ausführen

grafik.png


1. Dialog mit OK bestätigen

grafik.png


1. Bestätigen mit "Next"

grafik.png


1. Pfad anpassen wenn gewünscht
2. Bestätigen mit "Next"

grafik.png


1. Installation mit "Install" starten

grafik.png


1. View Readme abwählen
2. Installation mit "Finish" abschließen

grafik.png


Wenn die Liste an Programmen gleich ist war die Installation erfolgreich

grafik.png

OpenSSH-Agent, Putty und SSH-Keys

SSH-Key erstellen und einrichten

Teil 1 und Teil 2 müssen vorher gemacht werden!

1. Vorbereitung

1. Geh in deinen Benutzer Ordner unter C:\Users\DEIN-BENUTZER
2. Lege den Ordner .ssh an

grafik.png


1. Anschließend den Ordner per Rechtsklick auswählen
2. Mit An Schnellzugriff anheften Links hinzufügen

grafik.png

2. Schlüssel Erstellung

1. Dann wird PuTTYgen gestartet

grafik.png


1. Dann wird auf den Schlüsseltyp EdDSA gestellt
2. Mit Generate starten wir die Generation
3. Maus in dem Feld solange bewegen bis Text erscheint

grafik.png

Generationsfortschritt

grafik.png

Der Schlüssel ist fertig wenn das Fenster so aussieht:

grafik.png

Jetzt den erzeugten Schlüssel 3 mal speichern

Speichern des Putty Private Keys

Auf "Save private key" klicken

grafik.png


Dialog mit Ja bestätigen

grafik.png


1. Auf .ssh klicken
2. Bei Dateinamen putty-private-key eintragen
3. Und auf Speichern klicken

grafik.png

Speichern des OpenSSH Public Keys

0. Den Windows Explorer öffnen
1. Auf .ssh klicken
2. Rechtsklick
3. Auf Neu gehen
4. Textdokument auswählen

grafik.png


1. Die Datei openssh-public-key.txt nennen und mit Doppelklick öffnen

grafik.png


1. Den Inhalt aus dem Textfeld im PuTTYgen kopieren
2. In den Editor einfügen und speichern

grafik.png

Speichern des OpenSSH Private Keys

1. Auf Conversion klicken
2. Auf Export OpenSSH key klicken

grafik.png


Dialog mit Ja bestätigen

grafik.png


1. Auf .ssh klicken
2. Bei Dateinamen openssh-private-key eintragen
3. Und auf Speichern klicken

grafik.png

Jetzt sollten im .ssh Ordner diese 3 Dateien liegen:

grafik.png

Den putty-private-key.ppk darf man nicht verlieren da aus ihm die anderen beiden Dateien wieder erstellt werden können.

Weder der putty-private-key.ppk noch der openssh-private-key dürfen an andere Personen weitergegeben werden! Man gibt ja die Login Daten fürs Onlinebanking auch nicht weiter oder?

Wenn euch jemand nach eurem SSH-Key fragt gebt ihr entweder die openssh-public-key.txt weiter oder deren Inhalt


3. Schlüssel registrieren

1. Mit Shift+Rechtsklick das Erweiterte Kontext Menü aufrufen
2. PowerShell-Fenster hier öffnen auswählen

grafik.png


Folgendes in der PowerShell ausführen:

ssh-add .\openssh-private-key

grafik.png


Wenn ihr folgende Ausgabe bekommt

grafik.png

Müsst ihr folgenden Befehl ausführen:

$p = ".\openssh-private-key"; icacls.exe $p /reset; icacls.exe $p /GRANT:R "$($env:USERNAME):(R)"; icacls.exe $p /inheritance:r; ssh-add $p

Wenn ihr die folgende Ausgabe bekommt wurde der Schlüssel richtig geladen:

grafik.png

4. Kontrolle

Zum Abschluss folgendes in der PowerShell ausführen zur Kontrolle: ssh-add - und man sieht das der Schlüssel geladen ist:

grafik.png

Jetzt könnt ihr beim Login per SSH als Autentifizierung "Agent" verwenden so euer Public key im Server hinterlegt ist.