El protocolo Secure Shell (SSH) es quizás la forma más conocida de establecer una conexión segura entre una máquina cliente (su computadora portátil, teléfono o computadora de escritorio) y un servidor remoto en una oficina, centro de datos, datos o en su red doméstica. . Probablemente usará SSH si desea acceso a la línea de comandos en su servicio de alojamiento web o en una Raspberry Pi sin interfaz gráfica de usuario. SSH está disponible de una forma u otra para casi todos los sistemas operativos y, a menudo, está integrado en el sistema operativo.
La mayoría de los servidores te dan la opción de conectarte a SSH mediante una contraseña o claves SSH, que son más seguras. El método de clave SSH utiliza claves públicas y privadas generadas criptográficamente para crear una conexión cifrada entre dispositivos.
Nuestra clave pública se almacena en la máquina remota y una clave privada se almacena en nuestra máquina. Se requieren ambas claves SSH para establecer una conexión segura. Las claves también se pueden usar con contraseñas para agregar otro nivel de seguridad, pero también se pueden usar sin ellas, por ejemplo, en procesos automatizados.
En esta guía, aprenderemos cómo crear claves SSH usando PuTTY, el cliente SSH más popular, y el símbolo del sistema de Windows/terminal de Linux.
- Preparando el servidor remoto para claves SSH
- Usando PuTTY para conectarse a un servidor remoto usando claves SSH
- Copia de la clave pública al servidor remoto
- Cómo crear un par de claves SSH a través del símbolo del sistema/terminal
- Copia de la clave pública al servidor remoto
- Usar claves SSH en otra máquina
- Reutilizar una clave privada PuTTY
- Reutilización de una clave privada de símbolo del sistema/terminal
Preparando el servidor remoto para claves SSH
Nuestra máquina remota puede estar en un centro de datos administrado por un servicio de alojamiento web, nuestra oficina o nuestra casa. Por lo general, los servidores Linux, como VPS y alojamiento en la nube, tendrán SSH ejecutándose de forma predeterminada, utilizando contraseñas para conexiones seguras. De lo contrario, deberá habilitar SSH a través de su panel de control de VPS/servicio en la nube. Si está utilizando un servidor doméstico, es posible que no esté instalado. Si es así, sigue estos pasos antes de continuar.
1. Abra una terminal y busque un servicio SSH ejecutándose en la máquina. Si el servicio SSH se está ejecutando, devolverá Activo: activo (en ejecución).
sudo service ssh status
2. En el servidor físico, abra una terminal e instale OpenSSH Server. Deberá estar sentado frente a la máquina para emitir estos comandos.
sudo apt update
sudo apt install openssh-server
3. Inicie el servicio SSH.
sudo service ssh start
4. En su directorio de inicio, cree un directorio oculto llamado .ssh.
mkdir .ssh
5. Cierre la conexión presionando CTRL+D o escribiendo exit y presionando Enter.
Usando PuTTY para conectarse a un servidor remoto usando claves SSH
PuTTY es una aplicación para crear y administrar SSH y conexiones seriales a dispositivos. PuTTY viene con su propia aplicación de generación de claves y en esta parte de la guía crearemos una audiencia para nuestro servidor remoto y nuestra clave privada en nuestro dispositivo de confianza.
1. Descarga e instala PuTTY. Windows tiene su propio símbolo del sistema, que se puede usar con SSH, pero PuTTY es, con mucho, la forma más accesible de abrir una conexión SSH.
2. Busque puttygen y abra la aplicación.
3. Haga clic en RSA y establezca los bits en 4096. Haga clic en Generar para crear una clave.
4. Mueva el mouse alrededor del área en blanco del cuadro de diálogo para generar una semilla aleatoria para la clave.
5. Cree una frase de contraseña para la clave. Esto se recomienda para las claves SSH que se utilizarán en sesiones interactivas.
6. Guarde la clave pública como id_rsa_putty.pub en una carpeta llamada .ssh.
7. Guarde la clave privada como id_rsa_putty.ppk. El archivo ppk tiene el formato de clave privada de Putty.
8. Resalte la clave pública y copie el texto.
Copia de la clave pública al servidor remoto
1. Inicie PuTTY.
2. Ingrese la dirección IP o el nombre de host de su servidor remoto y haga clic en Abrir.
3. Cuando se le solicite, ingrese su nombre de usuario y contraseña para el servidor remoto. Tenga en cuenta que la contraseña no se muestra. Esta es una característica de seguridad para evitar el "shoulder surf".
4. Usando el editor de texto nano, cree un nuevo archivo llamado authorized_keys en el directorio .ssh.
5. Haga clic derecho y pegue la clave pública (creada en PuTTYGen) en la carpeta en blanco. para salvaguardar presionando CTRL+X, luego Y y Enter.
6. Salga de la sesión SSH presionando CTRL+D.
7. Vuelva a abrir la masilla y vaya a SSH >> Autenticación.
8. Seleccione la clave privada de Putty (ppk) que acabamos de crear.
9. Regrese a Sesión, ingrese el nombre de host/dirección IP de su servidor y haga clic en abrir para iniciar una conexión.
10. Ingrese su nombre de usuario y luego la frase de contraseña para su clave. Presione Entrar para conectarse.
Ahora controla el servidor remoto, utilizando un terminal Linux que se ejecuta en el sistema de archivos de Linux. Para cerrar una conexión, use CTRL+D o haga clic en la X para cerrar la ventana.
Cómo crear un par de claves SSH a través del símbolo del sistema/terminal
La creación de un par de claves SSH desde el símbolo del sistema/terminal de Linux se puede hacer con un solo comando y algunas preguntas para responder. Configuramos las claves pública y privada en nuestra máquina cliente, copiando la clave pública al servidor remoto. Estos pasos se aplican al símbolo del sistema de Windows y al terminal de Linux.
1. Abra un símbolo del sistema presionando la tecla de Windows y busque CMD. Presiona Enter para ejecutar.
2. Usa el comando ssh-keygen para crear una clave SSH utilizando el tipo de clave RSA, con 4096 bits.
ssh-keygen -t rsa -b 4096
3. Cuando se le solicite que asigne un nombre a su clave, presione Entrar. Esto guardará la clave pública y privada en el directorio .ssh para su cuenta designada. Por ejemplo, nuestras claves se guardaron en C:\Users\lespo\.ssh. Usuarios de Linux, las claves se guardarán en .ssh en su directorio de inicio \home\user\.ssh
4. Cuando se le solicite, asigne a su clave una frase de contraseña como un nivel adicional de seguridad. Una frase de contraseña es un paso de seguridad adicional para las claves SSH que usarán los usuarios reales (interactivamente). No se requiere una frase de contraseña si la conexión SSH se usa en un script automatizado.
5. Cambie el directorio a la ubicación de sus claves SSH. Aquí asumimos que está en su cuenta designada. Por ejemplo, C:\Users\lespo es nuestro. En Linux sería /home/les/.ssh
cd .ssh
6. Enumere los archivos en el directorio. Debería haber id_rsa e id_rsa.pub.
Windows Command
dir
Linux Command
ls
Copia de la clave pública al servidor remoto
La clave pública se almacena en nuestro servidor remoto e interactúa con la clave privada en nuestra máquina de confianza para formar una conexión segura. Para obtener la clave pública de nuestro servidor, necesitamos copiar (scp) el archivo de forma segura.
1. En un símbolo del sistema, use el comando scp para copiar de manera segura id_rsa.pub a su directorio de inicio en el servidor remoto. Deberá conocer la dirección IP o el nombre de host de la computadora remota. En nuestro ejemplo, copiamos el archivo a [email protected]:/home/testuser/
scp id_rsa.pub [email protected]:/home/username
2. SSH en la computadora remota.
ssh [email protected]
3. Verifique que el archivo id_rsa.pub esté presente en su directorio de inicio.
ls *.pub
4. Copie el contenido del archivo a un nuevo archivo en el directorio .ssh. Usando el comando cat, canalizamos el contenido al archivo, authorized_keys usando una canalización que agrega los datos al archivo (>>).
cat id_rsa.pub >> .ssh/authorized_keys
5. Cierre la conexión SSH presionando CTRL+D o escribiendo exit.
6. Vuelva a conectarse a través de SSH a la computadora remota. Si creó una frase de contraseña para su clave SSH, se le pedirá que la ingrese.
Usar claves SSH en otra máquina
Es posible reutilizar su clave SSH privada, pero no es una buena práctica de seguridad. Si pierde una computadora portátil con la llave, tendrá que volver a generar sus llaves. La mejor práctica sería generar un nuevo par de claves para cada dispositivo que quiera conectarse. Se agregó la clave pública al archivo authrozied_keys en el servidor. Dicho esto, es relativamente fácil reutilizar una clave privada en varios dispositivos.
Reutilizar una clave privada PuTTY
PuTTY almacena la clave privada como una clave PPK y este archivo es todo lo que necesitamos para que una máquina se conecte a un servidor remoto usando nuestra clave pública.
1. Navegue a su carpeta .ssh y copie el archivo PPK en una memoria USB. Mantenga esta unidad USB segura, ya que cualquiera puede usarla para acceder a su servidor.
2. Inserte la unidad USB en otra computadora.
3. Cree una carpeta .ssh en su directorio de inicio. Para Windows sería C:\Users\username\.ssh y Linux /home/user/.ssh.
4. Copie el archivo PPK en el directorio .ssh.
5. Siga el paso 7 de Copia de la clave pública en el servidor remoto para conectarse.
Reutilización de una clave privada de símbolo del sistema/terminal
1. Navegue a su carpeta .ssh y copie el archivo de clave privada en una unidad USB. Mantenga esta unidad USB segura, ya que cualquiera puede usarla para acceder a su servidor.
2. Inserte la unidad USB en otra computadora.
3. Cree una carpeta .ssh en su directorio de inicio. Para Windows sería C:\Users\username\.ssh y Linux /home/user/.ssh.
4. Copie el archivo de clave privada en el directorio .ssh.
5. Inicie una sesión SSH en la computadora remota. Si creó una frase de contraseña para su clave SSH, se le pedirá que la ingrese.
ssh [email protected]
Deja una respuesta