Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

SSH-Key erstellen mit ssh-keygen, so gehts

SSH-Key erstellen mit SSH-keygen für die Anmeldung zum Server

In diesem Tutorial wird gezeigt, wie man ein SSH-Key mit ssh-keygen erstellt und wie der Public SSH-Key auf dem Server hinterlegt wird.

SSH-Keygen und SSH-Key

SSH-Keys machen das eingeben von Passwörter bei der Verbindung über SSH überflüssig. Gerade für die Verwaltung von mehreren Accounts kann das viel Zeitersparnisse bringen. Im folgenden wird die Einrichtung von SSH-Key mit ssh-keygen auf Linux und macOS beschrieben. Hierzu man ein Terminal öffnet und den Befehl ausführt.

$ ssh-keygen -t rsa -b 4096

ssh-keygen fragt nun, in welcher Datei der Schlüssel (SSH-Key) abgelegt werden soll, am besten eine neue eindeutige Datei anlegen. Die Voreinstellung ist, dass der Schlüssel in der Datei (id_rsa) gespeichert wird, was nicht übersichtlich ist, zudem der Ordner.sshauch noch versteckt ist.

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mike/.ssh/id_rsa): mein-key
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in mein-key.
Your public key has been saved in mein-key.pub.
The key fingerprint is:
SHA256:7oBofs25Wz2b03V2+5daXFUAq8ClijSfSjUog/3sVwo mike@Laptop
The key's randomart image is:
+---[RSA 4096]----+
|          . .....|
| o   . . o   .  .|
|. + + o +   .   .|
|   * = + . .    .|
|    E + S .     .|
|   + + + .    o =|
|  o +o+.o o. . =+|
| o  ..++  .+. .o.|
|  ..  oo. o. .. +|
+---- SHA256 -----+

Es wird ein SSH-Key nach dem RSA-Kryptosystem mit der Länge 4096 Bit erstellt. Damit ist der Schlüssel per Brute-Force kaum zu knacken.

Mit der Option -f wird im selben Befehl ein Dateiname angegeben.

$ ssh-keygen -t rsa -b 4096 -f mein_key

Es lässt sich jetzt zusätzlich für noch mehr Sicherheit eine Passphrase vergeben, das ist aber nicht zwingend nötig. Falls man den SSH-Key mit einer Passphrase, also einem Passwort schützen möchte, gibt man hier ein beliebiges Passwort ein und bestätigt mit der Eingabetaste. Andernfalls kann man diese Option mit der Eingabetaste ohne Passwort überspringen. Wir erstellen an dieser Stelle ein Schlüsselpaar ohne zusätzliche Passphrase.

Das war es schon: Das Schlüsselpaar ist mit ssh-keygen erstellt und liegt in der angegebenen (SSH-Key) Datei vor. Die Dateien können mit einem Text-Editor im Terminal mit vi oder nano, und bei macOS mit einem beliebigen Editor geöffnet werden, um das Schlüsselpaar anzusehen, es darf jedoch nichts verändert werden, auch keine Leerzeilen einfügen.

mein-key
mein-key.pub

Der Inhalt der Datei mein-key.pub in verkürzter Form etwa wie dieser.

ssh-rsa AAAAB3NzaC1yc2EAAADAQABACQCuA1tumTMG/sa7OpjxbuL5vz7R..
...
VOOpjavLDM0iZjWbRc3KeKuEIu9Lw== mike@Laptop

Public SSH-Key auf Server bringen

Nun bleibt noch der letzte Schritt, den mit ssh-keygen erstellte Public SSH-Key auf dem Server zu hinterlegen. Am besten lässt es sich mit „ssh-copy-id“ erledigen. Da die Erstellung auf dem „Steuerrechner“, also dem Laptop erfolgt ist, muss der öffentliche Schlüssel (Public SSH-Key) noch auf den Server kopiert werden. Zunächst loggt man sich dazu auf dem Server ein und legt dann den Schlüssel dort ab. Dazu der Befehl im Terminal wie folgt lautet.

$ ssh-copy-id -i ~/.ssh/mein-key mike@webserver.org

SSH-Key auf Server alternativ hinterlegen

Als alternative, wenn man „ssh-copy-id“ nicht nutzen möchte, kann der Inhalt der lokalen Public SSH-Key Datei  ~/.ssh/mein-key.pub zum Server kopiert werden, in ~/.ssh/authorized_keys. Führe dazu den Befehl in der Shell beim Steuerrechner aus.

$ cat ~/.ssh/mein-key.pub | ssh mike@webserver.org "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
chmod 0600 ~/.ssh/authorized_keys

Weiter kann der mit ssh-keygen erstellte Public SSH-Key auch per Copy Paste direkt in der Datei authorized_keys gespeichert werden.

SSH-Key an einem sicheren Ort aufbewahren

  Der Private-Key mein-key muss geheim bleiben, daher diesen nicht auf dem Server unterbringen.

SSH-Keygen für SSH-Key ertellen in Windows

Die Clientkomponente von OpenSSH enthält ssh-keygen für das erstllen von SSH-Key in Windows. Zur Installation von OpenSSH mithilfe von PowerShell, starte PowerShell als Administrator und führe das folgende Cmdlet aus.

PS C:\> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

  OpenSSH in Windows bereitstellen, unter Einstellungen – Apps und Features – Optionale Features.

IPv6 Internetprotokoll aktivieren, deaktivieren in Windows 10 und 11

IPv6 Internetprotokoll in Windows PowerShell aktivieren, deaktivieren

Das Internetprotokoll IPv6 ist das neue Standardprotokoll für die Netzwerkschicht des Internets

IPv6 wurde entwickelt, um viele der Probleme der aktuellen Version der Internet Protocol (bekannt als IPv4) zu lösen. Dies in Bezug auf Adressverarmung, Sicherheit, automatische Konfiguration, Erweiterbarkeit u.s.w. Mit IPv6 bieten sich erweitert Möglichkeiten des Internets, um neue Arten von Anwendungen zu ermöglichen, darunter Peer-to-Peer- und mobile Anwendungen.

IPv6 ist standardmäßig in Windows aktiviert, oft muss jedoch IPv6 möglicherweise deaktiviert werden. Beispielsweise beim hinzufügen eines PCs zu einer Active Directory Domäne.

Dieses Tutorial zeigt, wie man das Internetprotokoll IPv6 für alle oder bestimmte Netzwerkadapter in Windows 8.1, Windows 10 und Windows 11 aktivieren bzw. deaktivieren kann.

So aktiviert man IPv6 für einen bestimmten Netzwerkadapter in der PowerShell

Kopiere den folgenden Befehl und füge ihn in PowerShell mit erhöhten rechte ein,. Um den Befehl mit der Eingabe Taste auszuführen, damit wird der aktuelle IPv6 Status für alle Windows Netzwerkadapter ausgegeben.

Get-NetAdapterBinding -ComponentID ms_tcpip6

IPv6 Internetprotokoll Status Information

Die IPv6 Internetprotokoll Status Information der Windows Netzwerkadapter könnte etwa wie die folgende aussehen.

Name                           DisplayName                                        ComponentID          Enabled
----                           -----------                                        -----------          -------
Ethernet                       Internetprotokoll, Version 6 (TCP/IPv6)            ms_tcpip6            True
WLAN                           Internetprotokoll, Version 6 (TCP/IPv6)            ms_tcpip6            True
Bluetooth-Netzwerkverbindung   Internetprotokoll, Version 6 (TCP/IPv6)            ms_tcpip6            True
OpenVPN Wintun                 Internetprotokoll, Version 6 (TCP/IPv6)            ms_tcpip6            True

Soll nun für den WLAN Adapter das IPv6 Internetprotokoll deaktiviert werden, kann folgender Befehl in der Windows PowerShell mit erhöhten rechte ausgeführt werden.

Enable-NetAdapterBinding -Name "WLAN" -ComponentID ms_tcpip6

So deaktiviert man IPv6 in der PowerShell für alle Netzwerkadapter

Kopiere den folgenden Befehl und füge ihn in PowerShell mit erhöhten rechte ein, um ihn mit der Eingabe Taste auszuführen.

Disable-NetAdapterBinding -Name "WLAN" -ComponentID ms_tcpip6

Es wird das IPv6 Internetprotokoll für alle Netzwerkadapter deaktiviert.

IPv6 Internetprotokoll

Das Internetprotocol Version 6 (IPv6), früher auch Internet Protocol next Generation (IPng) genannt. Ist ein von der Internet Engineering Task Force (IETF) seit 1998 standardisiertes Verfahren. Das zur Übertragung von Daten in paketvermittelnden Rechnernetzen, insbesondere dem Internet genutzt wird.

In diesen Netzen werden die Daten in Paketen versendet. In welchen nach einem Schichtenmodell Steuerinformationen verschiedener Netzwerkprotokolle ineinander verschachtelt um die eigentlichen Nutzdaten herum übertragen werden. IPv6 stellt als Protokoll der Vermittlungsschicht (Schicht 3 des OSI-Modells) her. Im Rahmen der Internetprotokollfamilie eine über Teilnetze hinweg gültige 128-Bit-Adressierung der beteiligten Netzwerkelemente (Rechner oder Router).

Im Internet soll IPv6 im Laufe der Zeit die Version 4 des Internet Protocols (IPv4) vollständig ablösen. Da es deutlich mehr Adressen bietet, von denen die IANA bei IPv4 auf globaler Ebene 2011 die letzten vergeben hat. Kritiker befürchten ein Zurückdrängen der Anonymität im Internet durch die nun mögliche zeitlich stabilere und weiter reichende öffentliche Adressierung. Befürworter bemängeln die zögerliche Einführung von IPv6 angesichts der ausgelaufenen globalen IPv4-Adressvergabe. Zugriffe auf Google von Nutzern aus Deutschland enthielten im April 2022 zu etwa 60% IPv6.