Estoy trabajando con un grupo de servidores en una VPN con ubuntu 18.04 y para cada servidor tengo un archivo de clave diferente. Sin embargo, cuando intento copiar archivos de forma segura (como propagar de forma segura la clave munge entre servidores), se me niega porque no tengo una clave adecuada (al menos creo que esa es la razón, devuelve "Permiso denegado (clave pública)". ).
¿Mantener mis claves privadas en cada servidor es probablemente una mala práctica? Copiar archivos a mi máquina local y luego copiarlos a un servidor diferente es una molestia y tampoco estoy seguro de si eso es seguro.
¿Cómo se maneja esto adecuadamente? ¿Puedo usar un usuario en cada servidor (como munge) para copiar entre ellos, si no en cualquier ubicación, entonces en algunas carpetas designadas que luego puedo sudo cp? ¿Existe alguna opción que no sea una vulnerabilidad?
Respuesta1
La autenticación basada en claves con ssh (scp es una rama de ssh) es una cuestión de criptografía de clave pública. Usted personalmente tiene una clave privada que mantiene en secreto y distribuye su clave pública a todos.
Entonces, para responder a su pregunta, NO debería necesitar ni necesita varias claves privadas, una será suficiente. Luego carga sus claves públicas en TODOS los servidores. Debes mantener una copia de seguridad de tu clave privada en un lugar seguro y cifrada con una frase de contraseña.
En segundo lugar, va en contra de la filosofía de la criptografía de clave pública almacenar sus claves privadas en los servidores a los que accede; no mantienes la clave privada en secreto. Su clave privada debe estar sana y salva con usted y mantenerse en secreto para todos; Sólo tú debes tener la clave privada y nadie más.
También es una buena práctica utilizar el mismo nombre de usuario y clave pública en todos los servidores.
Así que mantenga segura su clave privada única y distribuya la clave pública a todos los servidores a los que desee acceder. ¡Ahora puedes usar esa misma clave privada para iniciar sesión en todos tus servidores!
Respuesta2
Si necesita intercambiar datos entre servidores, puede consultar scp -3 server1:path1 server2:path2
. Transferirá los datos y utilizará su host como intermediario (sin conexión directa entre los servidores).
También puede configurar su .ssh/config
archivo con IdentityFile
opciones establecidas para cada bloque de servidor:
Host server1
IdentityFile ~/.ssh/file1
Host server2
IdentityFile ~/.ssh/file2