Accés SSH amb claus

Accés SSH amb claus entre membres de l’equip

1. Justificació tècnica (Nivell PRO+)

Com funciona l’autenticació per clau pública?

L’autenticació SSH mitjançant parell de claus es basa en la criptografia asimètrica. Es generen dues claus matemàticament vinculades:

  • Clau privada (id_ed25519): es manté estrictament secreta i emmagatzemada de forma segura al dispositiu d’origen.
  • Clau pública (id_ed25519.pub): es comparteix i s’afegeix al fitxer ~/.ssh/authorized_keys del servidor o equip de destí.

Quan un membre de l’equip intenta connectar-se, el servidor li envia un desafiament vinculat a la clau pública. El client només el pot resoldre si posseeix la clau privada corresponent, i així s’accedeix sense transmetre informació confidencial per la xarxa.

Per què és preferible a la contrasenya tradicional?

  1. Immunitat a atacs de força bruta: les claus Ed25519 tenen una complexitat criptogràfica impossible de trencar amb diccionaris o força bruta.
  2. Eliminació del factor humà: evita contrasenyes febles o reutilitzades.
  3. Seguretat en xarxes no segures: la clau privada mai viatja per la xarxa durant l’autenticació.

Custòdia i distribució de claus dins de l’equip

Dins del nostre equip de 5 membres (xavi, cerik, miquel, ivan i ajaimes):

  • Cada integrant va generar localment el seu parell de claus a la seva terminal.
  • Cap clau privada ha estat compartida ni enviada per cap mitjà.
  • Només es van recollir els fitxers de clau pública (.pub) per consolidar-los al fitxer ~/.ssh/authorized_keys del servidor (smx-214 / 172.25.214.11).

2. Dades de la xarxa i servidor

ParàmetreValor
Hostname servidorsmx-214
IP local servidor172.25.214.11
Usuari principalajaimes

3. Comandes i procediment pas a pas

Pas 1: Generació de la clau Ed25519 (a cada portàtil)

ssh-keygen -t ed25519 -C "usuari@inscastellbisbal.net"

Per veure la clau pública i poder compartir-la:

cat ~/.ssh/id_ed25519.pub

Pas 2: Afegir les claus al servidor i aplicar permisos

Al servidor smx-214 (ajaimes) es van afegir les claus públiques dels 4 integrants dins de authorized_keys:

# Afegir la clau pública al fitxer
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5..." >> ~/.ssh/authorized_keys

# Aplicar permisos estrictes
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Per verificar que totes les claus hi són:

cat ~/.ssh/authorized_keys

Pas 3: Prova de connexió SSH des dels clients

# Obtenir la IP local de cada màquina
hostname -I

# Connectar-se al servidor d'Adrián
ssh ajaimes@172.25.214.11

Mode detallat per diagnosticar l’autenticació: ssh -v ajaimes@172.25.214.11

Pas 4: Deshabilitar l’autenticació per contrasenya (Requisit PRO+)

Per forçar l’ús exclusiu de claus SSH s’aplica aquesta directiva a /etc/ssh/sshd_config i es reinicia el servei:

# Afegir la directiva
echo "PasswordAuthentication no" | sudo tee -a /etc/ssh/sshd_config

# Reiniciar el servei SSH
sudo systemctl restart ssh

4. Evidències i captures de pantalla

Evidència 1: Generació del parell de claus Ed25519

usuari@equip: ~
$ ssh-keygen -t ed25519 -C "usuari@inscastellbisbal.net"
Generating public/private ed25519 key pair.
Your identification has been saved in /home/usuari/.ssh/id_ed25519
Your public key has been saved in /home/usuari/.ssh/id_ed25519.pub
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...(clau pública)... usuari@inscastellbisbal.net

Evidència 2: Configuració i permisos de authorized_keys

ajaimes@smx-214: ~
$ ls -ld ~/.ssh ~/.ssh/authorized_keys
drwx------ 2 ajaimes ajaimes 4096 ... /home/ajaimes/.ssh
-rw------- 1 ajaimes ajaimes  ... ... /home/ajaimes/.ssh/authorized_keys
$ cat ~/.ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...  xavi@inscastellbisbal.net
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...  cerik@inscastellbisbal.net
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...  miquel@inscastellbisbal.net
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...  ivan@inscastellbisbal.net

Evidència 3: Connexió SSH exitosa sense contrasenya

Un company (eamigo@smx-203) es connecta a ajaimes@172.25.214.11 sense introduir cap contrasenya i obté directament el prompt ajaimes@smx-214.

Connexió SSH exitosa, terminal ampliada
Connexió SSH sense contrasenya (detall de la terminal)
Connexió SSH exitosa, pantalla completa
Mateixa connexió, pantalla completa

Evidència 4: Bloqueig d’usuaris no autoritzats (PRO+)

Una persona sense la clau privada corresponent és rebutjada sense poder introduir contrasenya:

usuari-no-autoritzat@equip: ~
$ ssh ajaimes@172.25.214.11
ajaimes@172.25.214.11: Permission denied (publickey).