A MacOS Sierra verzióra történő frissítés megszakítja az SSH kulcsokat, és kizárja a saját szervereiből.

Ne frissítsen macOS Sierra-ra, ha van felhőszervere (AWS, Digital Ocean stb.). Először olvassa el ezt a bejegyzést. Ez végigvezeti Önt a Sierra frissítésén és az SSH-kulcsok frissítésén.

Sok fejlesztőhöz hasonlóan kaptam egy értesítést az Apple-től, hogy hibát tegyek az új macOS Sierra telepítése érdekében. Néhány nap egymás után rákattintottam a „holnap emlékeztetni” gombra. Aztán végül egy este lefeküdtem lefekvés előtt.

Amikor felébredtem, már nem tudtam elérni a Free Code Camp szervereit. Eltartott egy ideig, mire rájöttem, hogy mi történt. Szerencsére a BerkeleyTrue még nem frissített, és hozzá tudta adni az új SSH kulcsokat.

Kiderült, hogy az Apple úgy döntött, hogy csendesen rákényszeríti a 2048 bites RSA kulcsokat mindenkire, ami egyeseknek enyhe kellemetlenséget jelentett, mások számára zavart pánikot.

Ha kíváncsi arra, hogy az RSA kulcsok miért biztonságosabbak, mint a régi DSA kulcsok, eredendően nem azok. De a DSA kulcsok általában csak 1024 bitek lehetnek, míg az RSA kulcsok hosszabbak lehetnek, ez a helyzet a Sierra alapértelmezett 2048 bites RSA kulcsaival. Ezek az extra bitek megnehezítik az új kulcsok feltörését.

Állítsuk be az új 2048 bites RSA SSH kulcsot.

1. lépés: törölje a régi kulcsot, és hozzon létre egy újat

Először ellenőrizzük és győződjünk meg arról, hogy valóban szükség van-e új kulcsra.

Nyissa meg a terminált, és írja be:

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

Ha a prompt egy „2048 SHA256” kezdetű karakterlánccal válaszol, készen áll, és nem kell további lépéseket tennie.

Ellenkező esetben hozzon létre egy új kulcsot a futtatással:

ssh-keygen -t rsa

A felszólításnak a következőkkel kell válaszolnia:

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

Az alapértelmezett helyre mentéséhez egyszerűen nyomja meg az Enter billentyűt. Ne feledje, hogy ez felülírja a régi (törött) kulcsát.

Enter passphrase (empty for no passphrase):

Hagyhatja ezt üresen, vagy hozzáadhat egy jelszót egy kis extra biztonság (és még sok más gépelés) érdekében.

Akkor kap egy remek véletlenszerű "művészetet", amely mindig úgy tűnik, mintha karácsonyfa lenne:

Most futtatva győződjön meg arról, hogy kulcsának megfelelő hozzáférési jogosultságai vannak:

sudo chmod 600 ~/.ssh/id_rsa

A nyilvános kulcs tartalmát a következő futtatással ellenőrizheti:

cat ~/.ssh/id_rsa.pub

Ami ilyesmit adna vissza:

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

Ezt a kulcsot be kell helyeznie a szerverre. Annak biztosítása érdekében, hogy az összeset átmásolja, javasoljuk, hogy közvetlenül a vágólapra másolja azt a

pbcopy < ~/.ssh/id_rsa.pub

2. lépés: adja hozzá új nyilvános kulcsát a szerveréhez

Ha kulcs nélkül tud SSH-t adni a szerverre, akkor próbáljon meg hozzáférni egy jelszóval, ha rendelkezik ilyennel.

Ellenkező esetben meg kell kérnie mást, aki hozzáfér a szerverhez, hogy ezt tegye meg helyetted.

Ha letiltotta a jelszavakhoz való hozzáférést a szerveréhez (amelyet biztonsági szakértők sok szakértő javasolna), akkor ideiglenesen újra engedélyezheti a jelszóhoz való hozzáférést.

Miután root hozzáféréssel rendelkezik a kiszolgálóhoz - feltételezve, hogy ez Linux szerver -, futtatnia kell ezt a parancsot:

nano ~/.ssh/authorized_keys

Ez megnyitja az engedélyezett kulcsfájlt a minimalista „nano” szövegszerkesztővel, amelyet a legtöbb Linux disztribúció tartalmaz. Vagy használhatja a Vim-et.

Ezután illessze be a korábbi SSH kulcsot. A módosítások mentéséhez nyomja meg a control + o gombot, majd a nano kilépéséhez nyomja le a + x billentyűt.

Kapcsolat bontása a szerverrel. Most már készen áll az új SSH kulcs használatával történő bejelentkezésre.

3. lépés: SSH a szerverre

Futtassa ezt a parancsot SSH-re, cserélje ki a [email protected] szót a kiszolgáló bejelentkezési és IP-címével:

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

Jelszó megadása nélkül normál SSH hozzáférést kell elérnie a szerveréhez.

Gratulálunk! Visszatért a tegnapi helyre, kivéve, hogy az Apple most abbahagyja az operációs rendszer frissítésével kapcsolatos hibákat. ?

Csak a programozásról és a technológiáról írok. Ha követsz a Twitteren, nem fogom pazarolni az idődet. ?