Salta el contingut
 

SSH

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

SSH

El protocol SSH (Secure Shell) és un protocol de xifrat que permet la comunicació segura entre dos sistemes.

Aquest protocol és molt utilitzat per a la connexió remota, considerat com una millor opció segura que el protocol Telnet.

Esquema de funcionament

El protocol SSH es basa en l'arquitectura client-servidor, on el client és el dispositiu és qui es connecta a un altre dispositiu, que actua com a servidor.

Esquema de funcionament de SSH

Figura 1. Esquema de funcionament de SSH.

Instal·lació

Cal instal·lar els següents paquets per a poder utilitzar SSH.

  • Servidor SSH: openssh-server

    sudo apt install openssh-server
    

    Instal·lació del servidor SSH

    Instal·lem el servidor SSH en l'equip UbuntuSI-01.

    jpuigcerver@UbuntuSI-01:~$ sudo apt install openssh-server
    
  • Client SSH: openssh-client. Normalment ja ve inclòs en la majoria de distribucions.

    sudo apt install openssh-client
    

Connexió entre dos sistemes

Per a connectar-se a un altre sistema, cal utilitzar la comanda ssh.

ssh [usuari@]host
  • usuari: Usuari amb el qual es vol connectar. Si no s'indica, es connectarà amb l'usuari actual.
  • host: Nom o adreça IP del sistema al qual es vol connectar.

Connexió a un sistema remot

Des de l'equip UbuntuSI-02, es connectarà a l'equip UbuntuSI-01 que actuarà com a servidor.

jpuigcerver@UbuntuSI-02:~$ ssh UbuntuSI-01

Autenticació

L'autenticació en SSH es realitza mitjançant dues opcions:

  • Autenticació per contrasenya: Es demana la contrasenya de l'usuari. Aquesta opció és la més comuna però menys segura.

    S'utilitza per defecte si no s'ha configurat l'autenticació per claus.

  • Autenticació per claus: Es basa en l'ús de claus criptogràfiques. Aquesta opció és més segura que l'autenticació per contrasenya.

Autenticació per claus

Per a utilitzar l'autenticació per claus, cal seguir els següents passos:

  1. Generar un parell de claus (pública i privada) en l'equip client.

    ssh-keygen -t rsa -b 4096
    
    • -t rsa: Tipus de clau RSA.
    • -b 4096: Mida de la clau de 4096 bits.
  2. Copiar la clau pública a l'equip servidor.

    ssh-copy-id [usuari@]host
    

    Còpia de la clau pública

    Es copiarà la clau pública de l'equip UbuntuSI-02 a l'equip UbuntuSI-01.

    jpuigcerver@UbuntuSI-02:~$ ssh-copy-id UbuntuSI-01
    

  3. Iniciar sessió sense contrasenya.

    Connexió sense contrasenya

    Una vegada s'ha copiat la clau pública, es podrà connectar a l'equip UbuntuSI-01 sense contrasenya.

    jpuigcerver@UbuntuSI-02:~$ ssh UbuntuSI-01
    

Desactivar l'autenticació per contrasenya

Una possible configuració per a augmentar la seguretat del servidor SSH és desactivar l'autenticació per contrasenya i permetre únicament l'autenticació per claus.

Per a desactivar l'autenticació per contrasenya cal seguir els següents passos:

  • Editar el fitxer de configuració del servidor SSH situat a /etc/ssh/sshd_config.

    sudo nano /etc/ssh/sshd_config
    
  • Descomentar la línia PasswordAuthentication i canviar el seu valor a no.

    PasswordAuthentication no
    
  • Reiniciar el servei SSH.

    sudo systemctl restart ssh
    

Recursos addicionals

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.