Durch ein Upgrade auf MacOS Sierra werden Ihre SSH-Schlüssel beschädigt und Sie werden von Ihren eigenen Servern ausgeschlossen.

Aktualisieren Sie nicht auf macOS Sierra, wenn Sie über einen Cloud-Server (AWS, Digital Ocean usw.) verfügen. Lesen Sie diesen Beitrag zuerst. Es führt Sie durch die sichere Aktualisierung auf Sierra und die Aktualisierung Ihrer SSH-Schlüssel.

Wie viele Entwickler erhielt ich eine Nachricht von Apple, die mich nervte, sein neues macOS Sierra zu installieren. Ich klickte einige Tage hintereinander auf „Erinnere mich morgen“. Dann gab ich eines Nachts vor dem Schlafengehen endlich nach.

Als ich aufwachte, konnte ich nicht mehr auf die Server von Free Code Camp zugreifen. Es dauerte eine Weile, bis mir klar wurde, was passiert war. Zum Glück hatte BerkeleyTrue noch kein Upgrade durchgeführt und konnte meine neuen SSH-Schlüssel hinzufügen.

Es stellte sich heraus, dass Apple beschlossen hat, allen stillschweigend 2048-Bit-RSA-Schlüssel aufzuzwingen, was für einige eine leichte Unannehmlichkeit und für andere eine verwirrte Panik war.

Wenn Sie sich fragen, warum RSA-Schlüssel sicherer sind als die alten DSA-Schlüssel, ist dies nicht von Natur aus der Fall. DSA-Schlüssel können jedoch normalerweise nur 1024 Bit groß sein, während RSA-Schlüssel länger sein können, was bei den standardmäßigen 2048-Bit-RSA-Schlüsseln von Sierra der Fall ist. Diese zusätzlichen Bits machen es wesentlich schwieriger, diese neuen Schlüssel zu knacken.

Lassen Sie uns Ihren neuen 2048-Bit-RSA-SSH-Schlüssel einrichten.

Schritt 1: Löschen Sie Ihren alten Schlüssel und erstellen Sie einen neuen

Lassen Sie uns zunächst überprüfen, ob Sie tatsächlich einen neuen Schlüssel benötigen.

Öffnen Sie Ihr Terminal und geben Sie Folgendes ein:

ssh-keygen -l -f ~/.ssh/id_rsa.pub

Wenn die Eingabeaufforderung mit einer Zeichenfolge antwortet, die mit „2048 SHA256“ beginnt, sind Sie fertig und müssen keine weiteren Maßnahmen ergreifen.

Andernfalls erstellen Sie einen neuen Schlüssel, indem Sie Folgendes ausführen:

ssh-keygen -t rsa

Die Eingabeaufforderung sollte antworten mit:

Generating public/private rsa key pair.Enter file in which to save the key (/Users/freecodecamp/.ssh/id_rsa):

Sie können einfach die Eingabetaste drücken, um es an der Standardposition zu speichern. Beachten Sie, dass dadurch Ihr alter (defekter) Schlüssel überschrieben wird.

Enter passphrase (empty for no passphrase):

Sie können dieses Feld leer lassen oder ein Kennwort hinzufügen, um ein wenig mehr Sicherheit zu gewährleisten (und viel mehr zu tippen).

Dann erhalten Sie eine coole zufällige „Kunst“, die immer wie ein Weihnachtsbaum geformt zu sein scheint:

Stellen Sie nun sicher, dass Ihr Schlüssel über die richtigen Zugriffsberechtigungen verfügt, indem Sie Folgendes ausführen:

sudo chmod 600 ~/.ssh/id_rsa

Sie können den Inhalt Ihres öffentlichen Schlüssels überprüfen, indem Sie Folgendes ausführen:

cat ~/.ssh/id_rsa.pub

Welches sollte etwas zurückgeben wie:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDijWK+s3ybgzEdaJ5LneNU11BsIyoNS51SV11Vi5auPJW9+Ji6OUSJ9OguZh4T019ULyFF/Qq66fhH9TvMzw80lTNoChgTRMpjs2+Qg75yTINKSde+Gv4TK6UvNw6EINORcTpb32Im9hgtdTj6WqJ/hCbSltv7IfFZU5ChV7SxTaoNZTa9M5H3N8YdQ/aGt3puh222Cq5DTjV8fRWaNVvjVQRe/huHAHEzEUr1T/eTlXtoFtGeC1z+pLfYllVzizoS7tyuUksfgqox1jJJMpaZ25V/R/p/MDUc936za/8zgB8OQFRBbrP6JvXXN99DLcvs9coz9vfb2GCVrhxi1aJ5 [email protected]

Sie müssen diesen Schlüssel auf Ihrem Server ablegen. Um sicherzustellen, dass Sie alles kopieren, empfehlen wir Ihnen, es direkt in Ihre Zwischenablage zu kopieren, indem Sie Folgendes ausführen:

pbcopy < ~/.ssh/id_rsa.pub

Schritt 2: Fügen Sie Ihren neuen öffentlichen Schlüssel zu Ihrem Server hinzu

Wenn Sie ohne Ihren Schlüssel SSH auf Ihren Server ausführen können, versuchen Sie, mithilfe eines Kennworts (falls vorhanden) Zugriff zu erhalten.

Andernfalls müssen Sie eine andere Person, die Zugriff auf den Server hat, bitten, dies für Sie zu tun.

Wenn Sie den Kennwortzugriff auf Ihren Server deaktiviert haben (was viele Experten aus Sicherheitsgründen empfehlen würden), können Sie den Kennwortzugriff möglicherweise vorübergehend wieder aktivieren.

Sobald Sie Root-Zugriff auf Ihren Server haben - vorausgesetzt, es handelt sich um einen Linux-Server - müssen Sie nur diesen Befehl ausführen:

nano ~/.ssh/authorized_keys

Dadurch wird Ihre autorisierte Schlüsseldatei mit dem minimalistischen Texteditor "nano" geöffnet, der in den meisten Linux-Distributionen enthalten ist. Oder Sie könnten Vim verwenden.

Fügen Sie dann Ihren öffentlichen SSH-Schlüssel von früher ein. Drücken Sie Strg + o, um Ihre Änderungen zu speichern, und dann Strg + x, um Nano zu beenden.

Trennen Sie die Verbindung zu Ihrem Server. Jetzt können Sie versuchen, sich mit Ihrem neuen SSH-Schlüssel anzumelden.

Schritt 3: SSH in Ihren Server

Führen Sie diesen Befehl für SSH in aus und ersetzen Sie [email protected] durch das Login und die IP-Adresse Ihres Servers:

ssh -i ~/.ssh/id_rsa [email protected]

Sie sollten normalen SSH-Zugriff auf Ihren Server erhalten, ohne ein Kennwort eingeben zu müssen.

Herzliche Glückwünsche! Sie sind wieder da, wo Sie gestern waren, außer jetzt wird Apple aufhören, Sie wegen eines Upgrades Ihres Betriebssystems zu nerven. ?

Ich schreibe nur über Programmierung und Technologie. Wenn Sie mir auf Twitter folgen, werde ich Ihre Zeit nicht verschwenden. ?