Per començar, ja hem vist en una entrada anterior com instal·lar una raspberry pi i com instal·lar Home Assistant, en primer lloc, mostrarem com instal·lar i configurar el servei SSH per accedir al nostre sistema Raspbian i realitzar configuracions tant al sistema com al Home Assistant.
Hi ha infinitat de maneres de fer-ho, però jo explicaré la meva manera i la que crec que és més segura; ja que aquest servei estarà publicat a Internet.
Que és SSH?
SSH o Secure Shell, és un protocol d’administració remota que permet als usuaris controlar els seus servidors remots a través d’Internet. El servei es va crear com un reemplaçament segur per al Telnet sense xifrar i utilitza tècniques criptogràfiques per garantir que totes les comunicacions entre servidor i client succeeixin de manera encriptada. un cop fet això obtindrem com a resultat un servidor de Home Assistant més segur.
Instal·lar i configurar SSH
Instal·lació del SSH
Primer de tot instal·larem SSH, pero si ja el tenim instal·lat, ens podem estalviar aquest pas.
sudo apt install openssh-server
Si ja tinguesim instal·lat SSH, ens apareixerà un missatge com aquest:
Configuració del SSH
Per començar, farem una còpia de l’arxiu de configuració, per si s’ha de tornar enrere.
cp /etc/ssh/ssh_config /etc/ssh/ssh_config_ORIGINAL
A continuació, ja podem editar l’arxiu de configurarció amb el nostre editor preferit; en el meu cas utilitzaré el vi.
vi /etc/ssh/ssh_config
Per defecte el port del servei SSH és el 22, per tant per evitar que hi hagin intents d’accés no autoritzats, modificarem aquest port, per tal de fer la vida una mica més complicada a aquells que intenten complicar-nos-la a nosaltres.
Per començar, busquem la línea que posa “Port 22” i la comentem amb una # i posem el nou port, per exemple 12522.
Per tant aquest port també haura d’esstar obert en el nostre firewall del encaminador.
#Port 22
Port 12522
Per altre banda, es molt important forçar el protocol de comunicació del nostre servei SSH a la versió 2. Per tant comentarem la seguent línea #Protocol 2,1 i afegirem la línea “Protocol 2”
Per mes seguerat, evitarem que l’usauri root pugui validar-se.
#PermitRootLogion yes
PermitRootLogion no
Reiniciem el servei del SSH perque agafi les noves configuracions
Fins aquí tindríem una configuració bàsica del nostre servidor SSH, però a mi m’agrada donar-li unes voltes més perquè sigui més complicat, que persones no autoritzades entrin al nostre servidor. Especialment quan aquest controlarà la nostra domòtica de casa.
Fem més segur el nostre SSH
Per tal de poder fer això jo utilitzo el puttygen, que el podem descarregar des de la següent direcció web:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Utilitzarem una clau encriptada pública i privada per fer aquesta connexió, així, aquella persona que no tingui la clau privada ja no podrà connectar.
Executem el puttygen.exe que hem descarregat i seleccionem RSA i introduïm el nombre de bits a 4096
Polsem sombre el botó “Generate” i anem movent el cursos del ratolí sobre l’aplicació per tal de generar la clau.
Un cop finalitzat, en l’apartat “Key passphrase i Confirm passphrase” col·locarem un password per fer-lo més segur.
Polsem sobre la icona “Save public key” i guardem l’arxiu amb el nom que vulguem. En el meu cas pub_key.
Polsem sobre la icona “Save private key” i guardem l’arxiu amb el nom que vulguem. En el meu cas priv_key.ppk.
Un cop fet això i tenim els arxius guardats al nostre equip client. Ens connectem a la nostra raspberry per SSH i creem unes carpetes on guardarem l’arxiu de la clau privada.
Un cop fet això, editem l’arxiu authorized_keys
Enganxem el contingut de l’arxiu “pub_key”, pero no hem de copiar la part que us poso a continuació:
Hauria de quedar així:
Guardem l’axiu “~/.ssh/authorized_keys”
Editem l’arxiu de configuració de SSH
Modifiquem alguns parametres i altres els afegim. Per tant si ja els teniu, heu de modificar el seu valor si no coicideix i si no es teniu els heu d’afegir.
Configurar PuTTY per accedir al servidor amb clau
Configurarem el cliente PuTTY per tal de fer la conexió amb la clau privada. Podem descarregar el cliente des de la web oficial ( https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html )
- 1: DNS o IP PÚBLIA DEL HOST
- 2: PORT SSH
- 3: SSH ( PROTOCOL )
- 4: NOM DE LA SESSIÓ QUE ES GUARDARÀ
En el menú Category fem el següent:
- 1: Despleguem ” Connection”
- 2: Seleccionem “Data”
- 3: Introduïm l’usuari de login ( per defecte pi )
Despleguem SSH
- 1: Despleguem SSH
- 2: Sel·leccionem Auth
- 3: Busquem la clau privada que te com extensió .ppk
Tornem a “Session” i li donem a guardar.
Obrim la sessió seleccionan el nom i polsan “Open”
I ens hauria d’apareixer algo semblant a aixo:
Acceptem la clau, i un cop fet aixó ens demanara el password que hem posat a la clau plivada.
Finalment, ja tenim un SSH en la nostre Raspbian més segur a les amenaçes que tenim a Internet.
En conclusió; més segur i més tranquils.