Clau SSH
| Tipus | ordre i eina de línia de comandaments |
|---|---|
| Basat en | Secure Shell |
| Part de | OpenSSH |
Una clau SSH és una credencial criptogràfica utilitzada pel protocol SSH (Secure Shell) per autenticar un usuari o un sistema de manera segura en una connexió remota. Habitualment es basa en criptografia de clau pública, on existeix un parell format per una clau privada (que es manté secreta) i una clau pública (que es pot distribuir). L’autenticació amb claus SSH s’utilitza sovint com a alternativa a les contrasenyes perquè pot oferir més resistència a atacs de força bruta i permet automatitzar accessos controlats.[1]
Funcionament
En l’autenticació amb clau pública, l’usuari disposa d’un parell de claus:
- Clau privada: es guarda al dispositiu client i no s’ha de compartir.
- Clau pública: es copia al servidor on es vol accedir.
Quan el client intenta connectar-se, el servidor comprova que la clau pública autoritzada correspon a la clau privada presentada pel client mitjançant un mecanisme criptogràfic de repte-resposta. Si la verificació és correcta, el servidor concedeix l’accés.[2]
Fitxers i ubicacions habituals
A sistemes tipus Unix, les claus SSH i la configuració d’usuari solen trobar-se dins el directori ocult ~/.ssh/:
id_ed25519oid_rsa: fitxer de clau privada (només lectura per a l’usuari).id_ed25519.puboid_rsa.pub: fitxer de clau pública.authorized_keys: al servidor, llista de claus públiques autoritzades per a un usuari.known_hosts: al client, registre de claus dels servidors ja coneguts (per evitar suplantacions).[2]
Algorismes i formats
SSH pot utilitzar diversos algorismes de clau pública. En entorns moderns és habitual l’ús de Ed25519 per la seva eficiència i seguretat, mentre que RSA encara es troba en compatibilitat amb sistemes antics (normalment amb mides de clau elevades). Les claus poden estar protegides amb una frase de pas (passphrase) que xifra la clau privada quan es desa a disc.[1]
Creació i instal·lació d’una clau (exemple)
En molts sistemes, la creació de claus es fa amb l’eina ssh-keygen. Un flux habitual és:
- Generar el parell de claus en el client.
- Copiar la clau pública al servidor, afegint-la a
authorized_keys. - Verificar que la connexió funciona sense contrasenya (o amb frase de pas si s’ha configurat).[1]
Seguretat i bones pràctiques
Les bones pràctiques més habituals inclouen:
- No compartir mai la clau privada i limitar els permisos del fitxer.
- Utilitzar una frase de pas per protegir la clau privada, especialment en portàtils o entorns compartits.
- Emprar un agent SSH (com
ssh-agent) per gestionar claus desxifrades en memòria i evitar reintroduir sovint la frase de pas. - Restringir l’ús de claus a nivell de servidor (per exemple, permetent només certs comandos o orígens) quan es vol un accés automatitzat.[2]
Usos
Les claus SSH s’utilitzen en diversos contextos:
- Administració remota de servidors (sessions interactives).
- Automatització de còpies o desplegaments.
- Accés a repositoris de control de versions mitjançant SSH (per exemple, Git).
- Túnels SSH i reenviament de ports (port forwarding), on l’autenticació amb clau facilita l’ús segur.[1]
Vegeu també
Referències
- 1 2 3 4 Barrett, Daniel J.; Silverman, Richard E.; Byrnes, Robert G. SSH, the secure shell: the definitive guide. Beijing: O`Reilly, 2006. ISBN 978-0-596-00895-6.
- 1 2 3 Lucas, Michael. SSH mastery: OpenSSH, PuTTY, certificates, tunnels, and keys. 2nd edition. United States of America: Tilted Windmill Press, 2017. ISBN 978-1-64235-002-9.