Digital Ocean SSH de una gota a una segunda gota

Digital Ocean SSH de una gota a una segunda gota

Estoy intentando realizar SSH desde una gota de Digital Ocean a una segunda gota.

He aquí mi arreglo:

Instalación y configuración

  • Gota 1: Mi prueba (Ubuntu 16.04 512 MB de RAM)
  • Gota 2: RemoteHost (Ubuntu 16.04 512 MB de RAM)
  • Sistema local (Windows 7 con Putty, PuttyGen)

Basado en las instrucciones del vídeo.aquí, utilicé PuttyGen para generar un par de claves públicas y privadas en mi sistema local (Windows 7). No guardé la clave pública. Guardé la clave privada en mi sistema local (Windows 7). Agregué la clave pública al droplet MyTest. Ahora puedo usar Putty para enviar ssh desde mi sistema local (Windows 7) a MyTest sin contraseña, exactamente como se muestra en el video.

Problema

Ahora, me gustaría realizar SSH desde el droplet MyTest al droplet RemoteHost.

Paso 1.

Creé el droplet RemoteHost y adjunté la misma clave pública que para MyTest. Entonces, ambas gotas MyTest y RemoteHost tienen la misma clave pública.

Paso 2.

Desde mi máquina local (Winsows 7), utilicé PuTTy para SSH en el droplet MyTest.

Paso 3.

Luego, (desde la línea de comando del droplet MyTest) intenté realizar SSH en el droplet RemoteHost con lo siguiente:

root@MyTest:~# ssh [email protected]

Después de esto, aparece el siguiente mensaje de error

root@MyTest:~# ssh root@xxx
The authenticity of host 'xxx (xxx)' can't be established.
ECDSA key fingerprint is SHA256:yyy.
Are you sure you want to continue connecting (yes/no)?

ingrese la descripción de la imagen aquí También muestro el error en la captura de pantalla anterior.

Pregunta:

¿Es posible realizar SSH desde una gota de Digital Ocean a otra gota de Digital Ocean diferente?

Respuesta1

Sí, pero debe colocar una copia de su clave privada en MyTest. El cliente SSH en MyTest no puede leer su clave privada en su PC.

Dicho esto, realmente debería usar un par de claves diferente para conectarse desde MyTest a RemoteHost porque la clave privada que ingresa en MyTest puede ser copiada por cualquier persona que tenga acceso a ese sistema (personas con las que comparte el servidor, tal vez personal de DO... .) y se utiliza para acceder a otros sistemas a los que accede con esa clave. Entonces, en MyTest, genere un segundo par de claves y copie su clave pública en RemoteHost (que tendrá dos claves públicas, la de su par de PC y la del par MyTest). Luego puede conectarse a RemoteHost directamente desde su PC (usando su clave privada local) o desde MyTest (usando la clave privada MyTest).

Respuesta2

¡La respuesta de @xenoid funcionó! Elegí usar un par de claves pública-privada diferente para conectarmeMi pruebaaServidor remoto.

Esto es lo que tuve que hacer (enfoque manual usando estas fuentes -aquíy el paso 4 deaquí) para seguir la sugerencia de @xenoid:

En la primera gota (MiPrueba)

1.

root@MyTest:~# ssh-keygen -t rsa -N '' -f keyfilename.rsa
root@MyTest:~# cat ~/keyfilename.rsa.pub

la primera lineagenera un par de claves sin contraseña. La segunda línea muestra el contenido del archivo de clave PÚBLICA.

2. Seleccione todos los caracteres en el archivo de clave PÚBLICA (usando el cursor del mouse) y presione Ctrl+ Cpara copiar la clave PÚBLICA.

3.

root@MyTest:~# exit

En la segunda gota (RemoteHost)

1.

root@RemoteHost:~# chmod 700 ~/.ssh
root@RemoteHost:~# chmod 600 ~/.ssh/authorized_keys
root@RemoteHost:~# nano ~/.ssh/authorized_keys

Este archivo ya contiene la clave PÚBLICA del par público-privado generado desde mi máquina local y agregado al droplet cuando se creó.

2. Utilice elnanoeditorpara pegar la clave PÚBLICA. Presione Enterpara comenzar una nueva línea en este archivo.

3. Presione Ctrl+ Vpara pegar la clave PRIVADA

4. Presione Ctrl+ X, y, Enterpara guardar y salir con el mismo nombre de archivo.

5.

root@RemoteHost:~# exit

En el cliente Ubuntu (AnsibleFlex)

1.

root@MyTest:~# ssh [email protected] -i ~/keyfilename.rsa

¿Dónde 123.456.789.10está la dirección IP pública delServidor remoto. Esto abre el indicador SSH en el /rootdirectorio enServidor remoto, según sea necesario.

¡Gracias @xenoid!

información relacionada