Digital Ocean SSH de una gota a la segunda gota

1

Estoy tratando de SSH de una gota de Océano Digital a una segunda gota.

He aquí mi arreglo:

Configuración y configuración

  • Droplet 1: MyTest (Ubuntu 16.04 512 MB RAM)
  • Droplet 2: RemoteHost (Ubuntu 16.04 512 MB RAM)
  • Sistema local (Windows 7 con Putty, PuttyGen)

Según las instrucciones en el video aquí , utilicé PuttyGen para generar un par de claves pública-privada 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 a la gotita MyTest. Ahora puedo usar Putty para ssh desde mi sistema local (Windows 7) en MyTest sin una contraseña exactamente como se muestra en el video.

Problema

Ahora, me gustaría SSH desde la gotita MyTest a la gotita RemoteHost.

Paso 1.

Creé la gota RemoteHost y adjunté la misma clave pública que para MyTest. Entonces, ambas gotitas MyTest y RemoteHost tienen la misma clave pública.

Paso 2.

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

Paso 3.

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

root@MyTest:~# ssh [email protected]

Después de esto, recibo 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 SSH de una gota de Océano Digital a una gota de Océano Digital diferente?

edesz
fuente

Respuestas:

3

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 de MyTest a RemoteHost porque la clave privada que coloque en MyTest puede ser copiada por cualquier persona que tenga acceso a ese sistema (personas con las que comparte el servidor, tal vez el personal HACER ... .) 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).

xenoide
fuente
¡Gracias! Intenté esto pero obtengo el siguiente resultado: root@MyTest:~# ssh-keygen -t rsa -N '' -f myexample.rsay luego ssh-copy-id [email protected]. Pero me dio el error: /usr/bin/ssh-copy-id: ERROR: failed to open ID file '/root/.pub': No such file (to install the contents of '/root/.pub' anyway, look at the -f option). ¿Falta un argumento en el ssh-copy-idcomando?
edesz
0

¡La respuesta de @xenoid funcionó! Elegí usar un par de claves público-privado diferente para conectar MyTest a RemoteHost .

Esto es lo que tenía que hacer (enfoque manual utilizando estas fuentes, aquí y el paso 4 a partir de aquí ) para seguir la sugerencia de @ xenoid:

En la primera gota (MyTest)

1)

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

La primera línea genera un par de claves sin contraseña . La segunda línea muestra el contenido del archivo de clave PUBLIC.

2. Seleccione todos los caracteres en el archivo de clave PÚBLICA (usando el cursor del mouse) y presione Ctrl+ Cpara copiar la tecla 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 a la gota cuando se creó.

2. Use el editor nano para pegar la clave PUBLIC. Presione Enterpara comenzar una nueva línea en este archivo

3. Presione Ctrl+ Vpara pegar la tecla PRIVADA

4. Pulse 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

donde 123.456.789.10está la dirección IP pública de RemoteHost . Esto abre el indicador SSH en el /rootdirectorio de RemoteHost , según sea necesario.

Gracias @ xenoid!

edesz
fuente