Se accede al terminal del servidor Linux remoto y se escribe:
mkdir .ssh
se permite el acceso a la carpeta creada solamente al usuario root:
chmod 700 .ssh
se entra en la carpeta:
cd .ssh
crear el archivo:
touch authorized_keys
En MAC local:
Se crea la clave RSA
ssh-keygen -t rsa -b 2048
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is:
12
2e:86:eb:d0:8e:2d:49:1f:0e:83:a8:b2:45:e7:2b:26 root@li215-240 The key's randomart image is:
+--[ RSA 2048]----+
|... . S |
|o.++.. .
|..o+.o .
|E.==o+ .
|o+.+
+-----------------+ [root@li215-240 .ssh]# ls -l total 8
-rw------- 1 root root 1675 Mar 11 20:06 id_rsa -rw-r--r-- 1 root root 396 Mar 11 20:06 id_rsa.pub
Cuando el sistema lo solicita (lineas en negrita), se puede crear una contraseña asociada a la clave RSA. Se crearán dos archivos:
• id_rsa que contiene la clave privada
• id_rsa.pub que contiene la clave publica
El segundo archivo se copia en el servidor Linux remoto:
scp id_rsa.pub root@ipserverremoto:/tmp
Con este comando se copia la clave publica en la carpeta /tmp del servidor remoto. Luego se añade la clave al archivo authorized_keys en la carpeta /root/.ssh
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
Se borra la clave publica:
rm /tmp/id_rsa.pub
y se cambian los permisos del archivo authorized_keys:
chmod 600 /root/.ssh/authorized_keys
Ya se puede continuar con la configuración del servidor SSH.
Terminada la operación de creación y configuración de las claves RSA, hay que modificar algunos parámetros del servidor SSH para permitir el acceso al VPS solamente al usuario root y solamente si se autentica con la clave RSA; además, para aumentar la seguridad, se cambia el puerto predefinido para
el acceso SSH (22 TCP), escogiendo otro aleatorio (ejemplo 20000 TCP). Esto se realiza modificando el archivo de configuración del servidor SSH:
nano /etc/ssh/sshd_config
Se buscan estas lineas (para buscar un texto con el editor nano hay que presionar la tecla CTRL junto a la tecla W):
#Port 22
PasswordAuthentication yes
y se modifican para que queden:
Port 20000
PasswordAuthentication no
Se guardan los cambios y se reinicia el servidor SSH:
systemctl restart sshd
Como el servidor viene con una configuración predefinida del cortafuegos, se para y se deshabilita el arranque automatico:
systemctl stop firewalld
systemctl disable firewalld
no olvide configurar posteriormente iptables con los respectivos puertos que va a utilizar.
Para conectarse desde local Linux/Mac:
ssh -p 20000 root@IPServidor