La actualización a MacOS Sierra romperá sus claves SSH y le bloqueará sus propios servidores.

No actualice a macOS Sierra si tiene un servidor en la nube (AWS, Digital Ocean, etc.) Lea esta publicación primero. Lo guiará a través de la actualización segura a Sierra y la actualización de sus claves SSH.

Como muchos desarrolladores, recibí un aviso de Apple pidiéndome que instalara su nuevo macOS Sierra. Hice clic en "recordarme mañana" unos días seguidos. Entonces finalmente cedí una noche antes de irme a la cama.

Cuando me desperté, ya no podía acceder a los servidores de Free Code Camp. Me tomó un tiempo darme cuenta de lo que había sucedido. Afortunadamente, BerkeleyTrue aún no se había actualizado y pudo agregar mis nuevas claves SSH.

Resulta que Apple decidió forzar silenciosamente las claves RSA de 2048 bits a todos, lo que ha sido un leve inconveniente para algunos y un pánico confuso para otros.

Si se pregunta por qué las claves RSA son más seguras que las antiguas claves DSA, no lo son de forma inherente. Pero las claves DSA generalmente solo pueden ser de 1024 bits, mientras que las claves RSA pueden ser más largas, que es el caso de las claves RSA predeterminadas de Sierra de 2048 bits. Esos bits adicionales hacen que estas nuevas claves sean sustancialmente más difíciles de descifrar.

Configuremos su nueva clave RSA SSH de 2048 bits.

Paso # 1: elimine su clave anterior y cree una nueva

Primero, verifiquemos y asegurémonos de que realmente necesita una nueva clave.

Abre tu terminal y escribe:

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

Si el mensaje responde con una cadena que comienza con "2048 SHA256", ya ha terminado y no necesita realizar ninguna otra acción.

De lo contrario, cree una nueva clave ejecutando:

ssh-keygen -t rsa

El mensaje debe responder con:

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

Puede simplemente presionar enter para guardarlo en el lugar predeterminado. Tenga en cuenta que esto sobrescribirá su clave anterior (rota).

Enter passphrase (empty for no passphrase):

Puede dejar esto en blanco o agregar una contraseña para un poco más de seguridad (y mucho más para escribir).

Entonces obtendrás un "arte" aleatorio genial que siempre parece tener la forma de un árbol de Navidad:

Ahora asegúrese de que su clave tenga los permisos de acceso correctos ejecutando:

sudo chmod 600 ~/.ssh/id_rsa

Puede verificar el contenido de su clave pública ejecutando:

cat ~/.ssh/id_rsa.pub

Que debería devolver algo como:

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

Deberá poner esta clave en su servidor. Para asegurarse de copiarlo todo, le recomiendo que pueda copiarlo directamente en su portapapeles ejecutando:

pbcopy < ~/.ssh/id_rsa.pub

Paso # 2: agregue su nueva clave pública a su servidor

Si puede SSH en su servidor sin su clave, intente obtener acceso usando una contraseña, si tiene una.

De lo contrario, deberá pedirle a otra persona que tenga acceso al servidor que lo haga por usted.

Si ha desactivado el acceso con contraseña a su servidor (lo que muchos expertos recomendarían por razones de seguridad), es posible que pueda volver a habilitar temporalmente el acceso con contraseña.

Una vez que tenga acceso de root a su servidor, suponiendo que sea un servidor Linux, solo necesita ejecutar este comando:

nano ~/.ssh/authorized_keys

Esto abrirá su archivo de clave autorizado usando el editor de texto minimalista "nano" que se incluye con la mayoría de las distribuciones de Linux. O podrías usar Vim.

Luego pegue su clave SSH pública de antes. Presione control + o para guardar sus cambios, luego control + x para salir de nano.

Desconéctese de su servidor. Ahora está listo para intentar iniciar sesión con su nueva clave SSH.

Paso # 3: SSH en su servidor

Ejecute este comando en SSH, reemplazando [email protected] con el nombre de usuario y la dirección IP de su servidor:

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

Debe obtener acceso SSH normal a su servidor, sin necesidad de ingresar una contraseña.

¡Felicidades! Has vuelto a donde estabas ayer, excepto que ahora Apple dejará de molestarte sobre la actualización de tu sistema operativo. ?

Solo escribo sobre programación y tecnología. Si me sigues en Twitter no perderé tu tiempo. ?