Proceso para mover las claves del servidor SSH al nuevo servidor

9

Va a mover un servidor a un nuevo hardware en un nuevo centro de datos pronto, y por supuesto, esto significa una nueva IP.

¿Cuál es el proceso correcto (si es que lo hay) para mover las claves SSH del servidor original al nuevo para que los clientes que se conectan no reciban ninguna advertencia o tengan que aceptar nada más?

¿Es posible, considerando que la IP está cambiando?

¿Qué archivos tengo que mover? Asumo todos los archivos ssh_host_ *.

Pasando de RHEL 5 a Ubuntu 10.04.

Daniel Huckstep
fuente

Respuestas:

8

Puede mover las claves de su servidor actual al nuevo servidor sin mucha molestia. Solo necesita asegurarse de que vayan a la misma ubicación y tengan el mismo permiso.

Sin embargo, lo ideal es aprovechar la oportunidad para crear nuevas claves y actualizar las claves del cliente en aras de la seguridad.

Miguel
fuente
2
Olvidé agregar que sus usuarios pueden recibir una advertencia cuando se conectan al nuevo host de que ya tienen un host en su archivo de hosts conocido que coincide con la clave con la que se están autenticando. Esto significa que tendrán que eliminar la entrada en su archivo de hosts conocidos. No puedes evitar esto.
Mike
1
Entonces, si los usuarios pueden recibir una advertencia de todos modos, ¿tiene mucho sentido mover las teclas?
Daniel Huckstep
1
los usuarios recibirán una advertencia. Será un hombre en el mensaje de ataque medio. Parece aterrador, pero si elimina know_hosts del cliente, recibirán un mensaje menos aterrador. No conozco un aviso de algún tipo.
egorgry
5

1) Si sus archivos de configuración sshd están almacenados en / etc / ssh /, deberá copiarlos. Encontrará la configuración sshd allí, así como el par de claves del host.

¡Asegúrese de copiar correctamente los permisos también! El sshd simplemente ignorará las claves que no estén protegidas adecuadamente. (Bueno también, ya que una clave privada desprotegida es una muy mala idea).

2) Si ya ha agregado claves públicas de hosts remotos de confianza y ya no necesita una contraseña para iniciar sesión, también tendrá que copiar esa información para que el inicio de sesión automático vuelva a funcionar ahora. Esta información se almacena normalmente en /home/-account-/.ssh/ (debajo de claves autorizadas). Nuevamente, no olvide los permisos aquí.


Con respecto al cambio de dirección IP, suponiendo que los clientes remotos realmente vean un cambio en IP (no está detrás de algún proxy inverso ni nada), entonces no, requerirán que el usuario acepte nuevamente el certificado. (dado que en el archivo known_hosts del cliente remoto, la IP del servidor y el certificado del servidor se almacenaron juntos) Peor aún, si asigna esa dirección IP a otro servidor ssh, incluso podrían ser advertidos de un ataque man-in-the-middle.

Por lo tanto, solo tiene sentido usar la misma dirección IP (externa) en el nuevo servidor.

Arnout
fuente
0

No mencionaste tu sistema operativo. Puedo decirle con certeza que un host RHEL tiene las claves del servidor almacenadas en / etc / ssh. Simplemente copie ese directorio en su totalidad. Luego deberá hacer rebotar sshd / reiniciar la caja.

Creo que mientras se conecte a través del mismo nombre DNS, no debería recibir advertencias. Incluso con la nueva IP.


--Christopher Karel

Christopher Karel
fuente
Se agregó una nota sobre cuáles son los sistemas operativos
Daniel Huckstep
1
Entonces sí, / etc / ssh es el directorio que desea. Recomiendo solo las teclas ssh_host *. No muevas los archivos de configuración. Y querrá hacer una copia de seguridad del lado de destino de las cosas, solo para estar seguro.
Christopher Karel