Portàtil Linux que mostra un indicador de shell

Preneu-vos seriosament la ciberseguretat i utilitzeu les tecles SSH per accedir a inicis de sessió remots. Són una forma més segura de connectar-se que les contrasenyes. Us mostrem com generar, instal·lar i utilitzar claus SSH a Linux.

Què hi ha incorrecte amb les contrasenyes?

El protocol segur (SSH) és el protocol xifrat que s’utilitza per iniciar la sessió als comptes d’usuari en ordinadors remots de Linux o Unix. Normalment aquests comptes d’usuari es protegeixen mitjançant contrasenyes. Quan inicieu la sessió en un equip remot, heu de proporcionar el nom d’usuari i la contrasenya del compte on esteu iniciant la sessió.

Les contrasenyes són el mitjà més comú per aconseguir l'accés als recursos informàtics. Malgrat això, la seguretat basada en contrasenya té els seus defectes. Les persones trien contrasenyes febles, comparteixen contrasenyes, utilitzen la mateixa contrasenya en diversos sistemes, etc.

Les claus SSH són molt més segures i, un cop configurades, són tan fàcils d’utilitzar com a contrasenyes.

Què fa que les claus SSH siguin segures?

Les claus SSH es creen i s’utilitzen per parelles. Les dues claus estan enllaçades i segurament criptogràfiques. Un és la vostra clau pública i l’altre és la vostra clau privada. Estan vinculats al vostre compte d’usuari. Si diversos usuaris d’un sol ordinador utilitzen claus SSH, cada un rebrà el seu propi parell de tecles.

La vostra clau privada està instal·lada a la carpeta d'inici (normalment) i la clau pública està instal·lada a l'ordinador remot (o ordinadors) als que haureu d'accedir.

Cal conservar la vostra clau privada. Si és accessible per a altres, es troba a la mateixa posició que si haguessin descobert la vostra contrasenya. Una precaució raonable i molt recomanable és que la clau privada sigui xifrada a l’ordinador amb una frase de contrasenya robusta.

La clau pública es pot compartir lliurement sense cap compromís amb la vostra seguretat. No és possible determinar quina és la clau privada a partir d’un examen de la clau pública. La clau privada pot xifrar els missatges que només la clau privada pot desxifrar.

Quan feu una sol·licitud de connexió, l’ordinador remot utilitza la seva còpia de la clau pública per crear un missatge xifrat. El missatge conté un ID de sessió i altres metadades. Només l'ordinador que té la clau privada (el vostre ordinador) pot desxifrar aquest missatge.

L’ordinador accedeix a la vostra clau privada i desxifra el missatge. A continuació, envia el seu propi missatge xifrat de nou a l’ordinador remot. Entre altres coses, aquest missatge xifrat conté l'ID de sessió que es va rebre de l'ordinador remot.

L’ordinador remot ara sap que heu de ser qui dius que sou perquè només la vostra clau privada podria extreure l’ID de sessió del missatge que va enviar al vostre ordinador.

Assegureu-vos que podeu accedir a l'equip remot

Assegureu-vos que podreu connectar-vos de manera remota a l’ordinador remot i iniciar la sessió. Això demostra que el vostre nom d’usuari i la vostra contrasenya tenen un compte vàlid configurat a l’ordinador remot i que les vostres credencials són correctes.

No intenteu fer res amb les claus SSH fins que no hagueu comprovat que podeu utilitzar SSH amb contrasenyes per connectar-vos a l’ordinador de destinació.

En aquest exemple, una persona amb un compte d'usuari anomenat dave es connecta a un ordinador anomenat howtogeek. Es connectaran a un altre ordinador anomenat Sulaco.

Introdueixen la següent comanda:

ssh dave @ sulaco
ssh dave @ sulaco en una finestra del terminal

Se’ls demana la seva contrasenya, l’introdueixen i es connecten a Sulaco. Els canvis de la línia d'ordres canvien per confirmar-ho.

L'usuari s'ha connectat a sulaco mitjançant ssh i una contrasenya

Aquesta és tota la confirmació que necessitem. Per tant, l'usuari dave pot desconnectar de Sulaco amb l'ordre de sortida:

sortir
L'usuari s'ha desconnectat de sulaco

Reben el missatge de desconnexió i el missatge de la línia d’ordres torna a dave @ howtogeek.

RELACIÓ: Com connectar-se a un servidor SSH des de Windows, macOS o Linux

Creació d'un parell de claus SSH

Aquestes instruccions es van provar a les distribucions de Linux a Ubuntu, Fedora i Manjaro. En tots els casos el procés va ser idèntic i no va haver de instal·lar cap programari nou a cap de les màquines de prova.

Per generar les vostres claus SSH, escriviu la següent comanda:

ssh-keygen
ssh-keygen en una finestra del terminal

El procés de generació s’inicia. Se us demanarà on voleu que es guarden les vostres claus SSH. Premeu la tecla Enter per acceptar la ubicació per defecte. Els permisos de la carpeta la protegiran només per al vostre ús.

Confirmació de la ubicació d'emmagatzematge de la clau ssh en una finestra del terminal

Ara se us demanarà una frase de contrasenya. Us aconsellem que introduïu una frase de contrasenya aquí. I recordeu què és! Podeu prémer Enter per no tenir frase de contrasenya, però aquesta no és una bona idea. Una frase de contrasenya formada per tres o quatre paraules no connectades, juntes, constituirà una frase de contrasenya molt robusta.

Sol·liciteu una frase de contrasenya en una finestra del terminal

Se us demanarà que introduïu una altra vegada la mateixa frase de contrasenya per verificar que heu escrit el que heu escrit que heu escrit.

Es generen i emmagatzemen les claus SSH.

S'ha completat la generació de claus i es mostra l'art aleatori a la finestra d'un terminal

Podeu ignorar el "randomart" que es mostra. Alguns ordinadors remots poden mostrar-vos el seu art aleatori cada vegada que us connecteu. La idea és que reconegueu si canvia l’art aleatori i sospiteu de la connexió perquè significa que s’han canviat les claus SSH d’aquest servidor.

Instal·lació de la clau pública

Hem d’instal·lar la vostra clau pública a Sulaco, l’ordinador remot, perquè sàpiga que la clau pública li pertany.

Ho fem mitjançant la comanda ssh-copy-id. Aquesta ordre fa una connexió amb l'ordinador remot com l'ordre regular ssh, però en lloc de permetre-vos iniciar sessió, transfereix la clau SSH pública.

ssh-copy-id dave @ sulaco
ssh-copy-id dave @ sulaco

Tot i que no esteu iniciant la sessió a l’ordinador remot, encara heu d’autenticar-vos mitjançant una contrasenya. L’ordinador remot ha d’identificar a quin compte d’usuari pertany la nova clau SSH.

Tingueu en compte que la contrasenya que heu d’aportar aquí és la contrasenya del compte d’usuari on esteu iniciant la sessió. Aquesta no és la frase de contrasenya que acaba de crear.

ssh-copy-id amb finestra de terminal del missatge de sol·licitud de contrasenya

Quan s’ha verificat la contrasenya, ssh-copy-id transfereix la vostra clau pública a l’ordinador remot.

Se us retornarà al missatge de comandes del vostre ordinador. No us deixeu connectat a l’ordinador remot.

La clau pulic s'ha transferit correctament en una finestra del terminal

Connexió mitjançant claus SSH

Seguim el suggeriment i intentem connectar-nos a l’ordinador remot.

ssh dave @ sulaco
ssh dave @ sulaco en una finestra del terminal

Com que el procés de connexió requerirà accés a la vostra clau privada i perquè heu salvat les tecles SSH darrere d’una frase de contrasenya, haureu de proporcionar la vostra contrasenya per tal que la connexió continuï.

quadre de diàleg de sol·licitud de contrasenyes

Introduïu la vostra contrasenya i feu clic al botó Desbloqueja.

Un cop hàgiu introduït la frase de contrasenya en una sessió de terminal, no haureu d’introduir-la de nou sempre que tingueu oberta la finestra del terminal. Podeu connectar-vos i desconnectar-vos de tantes sessions remotes com vulgueu, sense tornar a introduir la frase de contrasenya.

Podeu marcar la casella de selecció de l'opció "Desbloquejar automàticament aquesta clau cada vegada que estic connectat", però reduirà la vostra seguretat. Si deixeu l’ordinador sense vigilància, qualsevol pot fer connexions als ordinadors remots que tinguin la vostra clau pública.

Un cop introduïu la vostra contrasenya, esteu connectat a l’ordinador remot.

connexió a ordinador remot en una finestra del terminal

Per verificar el procés un cop més per finalitzar, desconnecteu amb l’ordre de sortida i torneu-vos a connectar a l’ordinador remot des de la mateixa finestra del terminal.

ssh dave @ sulaco
connexió de clau i desconnexió ssh en una finestra del terminal

Estareu connectat a l’ordinador remot sense necessitat de contrasenya o frase de contrasenya.

Sense contrasenyes, sinó seguretat millorada

Els experts en ciberseguretat parlen d’una cosa anomenada fricció de seguretat. Aquest és el menor dolor que necessiteu per obtenir més seguretat. Normalment hi ha algun pas o dos necessaris per adoptar un mètode de treball més segur. I a la majoria de la gent no li agrada. En realitat prefereixen una menor seguretat i una falta de fricció. Aquesta és la naturalesa humana.

Amb les claus SSH, obté una major seguretat i un augment de la comoditat. Això és un benefici definitiu.