Parte 4 - Asegurando SSH

SSH proporciona una opción de autenticación que utiliza un par de claves pública / privada de RSA. Esto le permite bloquear su nodo seguro/super nodo, para que solo sea accesible a través de SSH mediante la clave privada, lo que impide todo acceso basado en contraseña. Si bien esto proporciona un nivel adicional de seguridad al acceder a su nodo de forma remota, se debe tener cuidado para evitar el bloqueo de su nodo. Si ya tiene un par de claves pública / privada SSH RSA existente, puede optar por usar ese par de claves para acceder a su nodo. Si no está seguro, pregunte en Discord o mediante un ticket zenhelp antes de continuar con estos pasos.

** ESTA ES UNA ADVERTENCIA IMPORTANTE - ASEGÚRESE DE COMPRENDER LO QUE ESTÁ HACIENDO ANTES DE CONTINUAR - POR FAVOR LEA EL TEXTO QUE APARECE A CONTINUACIÓN DE ESTA ADVERTENCIA **


**ASEGÚRESE de ABRIR UNA SEGUNDA SESIÓN DE TERMINAL en su máquina local e iniciar sesión en su nodo con AMBAS sesiones de terminal mientras sigue estos pasos**


NOTE: Esta página sólo se aplica a los terminales Mac OS y Linux, los usuarios de Windows pueden ver:


DescripciónComando

Genere un par de claves SSH - los pasos del 1 al 5 se realizan en su máquina local, no en el nodo.

1

Los pasos 1 - 5 son un requisito previo para asegurar SSH, en los pasos 8 y 9 a continuación, la intención es generar un par de claves RSA para desactivar el acceso a la contraseña a través de SSH.

Asegúrese de que todavía está conectado con su primera sesión de terminal (abierta en la Parte 2)

2

Abra una SEGUNDA VENTANA DE LA TERMINAL y busque un par de claves pública / privada existente en su dispositivo local

  • OS X - presione <CMD> + <N> para abrir una nueva ventana de Terminal
  • Linux: abra la aplicación Terminal o presione <CTRL> + <SHIFT> + <N>


Si los archivos - id_rsa e id_rsa.pub ya están presentes (se muestran en resultado del ejemplo) omita el paso 3. Si no están presentes, o si vio un error (.ssh: no existe dicho archivo o directorio) continúe con el paso 3


ls -alh ~/.ssh/
Ejemplo de Resultado

user@localmachine:~$ ls -alh ~/.ssh/

total 80K

drwxr-xr-x  2 user user 4.0K May 28 13:47 .

drwx------ 19 user user 4.0K Jun  4 23:35 ..

-rw-------  1 user user 1.7K Oct 15  2017 id_rsa

-rw-r--r--  1 user user  394 Oct 15  2017 id_rsa.pub

3

Genere un par de claves ssh en su dispositivo local

SI SE LE PIDIÓ SOBRESCRIBIR UN ARCHIVO EXISTENTE, A MENOS QUE EXPLÍCITAMENTE QUIERA HACER ESO, ¡RESPONDA NO Y PROCEDA AL PASO 4!


Presiona Intro (Enter) cuando se te solicite para ingresar un nombre de archivo (VER ADVERTENCIA ANTERIOR), ingresa una contraseña segura cuando se te solicite


NO PIERDA ESTA CONTRASEÑA, ¡NO DEBE SER IGUAL A LA CONTRASEÑA DE USUARIO!


NOTA: Los archivos de par de claves: "id_rsa e id_rsa.pub" se almacenan en: "/Users/<USER>/.ssh/" en OS X y "/home/<USER>/.ssh en Linux


Se recomienda realizar una copia de seguridad de estos archivos en una ubicación segura fuera de línea, como una unidad de almacenamiento encriptada

ssh-keygen -t rsa -b 2048
4

Copie la clave pública SSH a su nodo seguro/super nodo, reemplace 'zenops' con su propio nombre de usuario y <FQDN> con su propio nombre de dominio completamente calificado, elimine <corchetes>

Si se le solicita que continúe con la conexión con una huella digital ECDSA, responda sí

Si se le solicita que instale nuevas claves, hágalo ingresando su contraseña de usuario no root

ssh-copy-id zenops@<FQDN>
5

Pruebe el acceso al nodo seguro/super nodo a través de SSH con el par de claves, remplace 'zenops' con su propio nombre de usuario y <FQDN> con su propio nombre de dominio completamente calificado, elimine <corchetes>

Se le pedirá la CONTRASEÑA UTILIZADA AL GENERAR LA CLAVE, no la contraseña del usuario para su nodo.

Si ya existe un par de claves desde el paso 2 y se salta al paso 4 según las instrucciones, utilizará la contraseña para esa clave, probablemente desde otra configuración de nodo.

ssh zenops@<FQDN>
exit
ssh zenops@<FQDN>
6

Repita el inicio de sesión en el paso 5 tantas veces como sea necesario para estar seguro de que está iniciando sesión sin una contraseña de USUARIO, sino que utiliza la contraseña de la clave RSA. Si no completa este paso, se bloqueará su nodo.


En su nodo 

7

NOTE: Proceda con los pasos 8 y 9 SÓLO si ha establecido un inicio de sesión basado en claves para su nodo y QUE HAYAS PROBADO QUE PUEDES ACCEDER CON LA CONTRASEÑA RSA (NO CON LA CONTRASEÑA DE USUARIO)

8

Edite el archivo sshd_config para asegurar el daemon SSH


NOTA: La contraseña de clave RSA solo se usa para iniciar sesión en su nodo seguro/super nodo, todas las demás solicitudes de contraseña requerirán su contraseña de usuario no root

Copie y Pegue todo el bloque entero

sudo sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config && \
sudo sed -i '/PasswordAuthentication/d' /etc/ssh/sshd_config && \
sudo sed -i '/ChallengeResponseAuthentication/d' /etc/ssh/sshd_config && \
echo -e "PermitRootLogin no\nPasswordAuthentication no\nChallengeResponseAuthentication no" | sudo tee -a  /etc/ssh/sshd_config
9Reinicie el SSH con la nueva configuración
sudo systemctl restart sshd

Parte 4 de 11 - Securing SSH



© 2019 Horizen. All rights reserved.