diumenge, 22 de desembre de 2013

SSH a Manjaro per a dummies com jo



Aquest cap de setmana, cansant de les no actualitzacions de Linux Mint a un altre ordinador de casa -l'eee que de vegades fa servir la canalla- hi he posat Manjaro Linux.

Una cosa que sempre va bé als ordinadors, per exemple si el fa servir canalla que de vegades té el curiós costum de no creure, és poder-hi accedir per SSH. Això permet -entre d'altres coses com instal·lar-hi les actualitzacions remotament- blocar la pantalla, desconnectar usuaris, canviar-los la contrasenya...

Com tantes altres coses, això amb GNU/Linux és força senzill. En el cas de Manjaro, si no està instal·lat:
$ sudo pacman -S openssh
a l'ordinador remot, el que funcionarà com a servidor. Evidentment, cal assignar-li una IP fixa i configurar l'encaminador amb el port corresponent. Aconsellable: instal·lar fail2ban per a evitar visitants no desitjats:

$ sudo pacman -S fail2ban

Arrenquem el dimoni ssh:

$ sudo systemctl start sshd

I l'activem a l'arrencada:

$ sudo systemctl enable sshd.service 

A l'ordinador des del qual ens hi connectarem remotament, generem el parell de claus (és superaconsellable que l'accés sigui per claus i no amb contrasenya), seguint les indicacions que aniran sortint:

$ ssh-keygen -t ecdsa -b 521 -c "$(whoami)@$(hostname)-$(date -I)"
 I un cop generades, copiem la clau pública al servidor:

$ ssh-copy-id nomusuari@ipservidor

Ara ja podem canviar algunes cosetes al fitxer /etc/ssh/sshd_config del servidor per a augmentar la seguretat:

-canviem el port per defecte (22) per algun de més alt, com per exemple el 8050, descomentant la línia corresponent (atenció: no oblidem configurar el port a l'encaminador)
-descomentem i canviem a "no" la línia PermitRootLogin
-descomentem i canviem a "no" la línia PasswordAuthentication, per tal de permetre accés només mitjançant la clau pública que hem copiat al pas anterior.

Un cop fet això, ja podem reiniciar el dimoni al servidor:

$ sudo systemctl restart sshd

Ja està :-) Només cal

$ ssh -p8050 usuari@ipservidor

per a accedir-hi. D'acord, fa una mica de mandra, no? Molt bé; creem el fitxer:

$ touch ~/.ssh/config

i hi afegim, amb el nostre editor preferit:

$ gedit ~/.ssh/config
el següent:

Host àliesquevolem
user nomusuari
Port 8050 (o el que haguem triat)
PubKeyAuthentication yes
HostName ipservidor
 Au, ja podem connectar amb

$ ssh àliesquevolem
amunt