que - ssh seguro ubuntu
Compartir claves SSH (4)
Utilizo una clave SSH privada y una entrada sin contraseña para varias cuentas de usuario en un servidor que aloja varios sitios web.
Uso la misma clave privada para cada cuenta de usuario. (porque soy perezoso? o es la manera "correcta").
Ahora quiero autorizar otra computadora confiable en una parte diferente del país. Si copio el contenido de mi ~ / .ssh en esa máquina, ¿funcionará sin ninguna otra configuración?
¿Podrán ambas máquinas mantener una conexión al mismo tiempo?
Esto es seguro siempre y cuando no compartas tu clave privada. Simplemente coloque la clave pública en el archivo ~ / .ssh / authorized_keys de la máquina remota para la entrada sin contraseña. No compartas la clave privada sin embargo.
Las claves son solo para autenticación. Puede iniciar sesión tantas veces como lo desee con la misma clave, siempre que pueda iniciar sesión con esa clave privada una vez.
Esto debería funcionar, y ambas máquinas deberían poder mantener una conexión al mismo tiempo. He tenido que copiar mi directorio ~/.ssh
varias veces antes cuando los discos duros se bloquearon.
Copiar ~/.ssh
entre sistemas está bien siempre y cuando esté limitado solo a archivos como authorized_keys
, config
y known_hosts
. Si desea que dos hosts puedan acceder entre sí, cada host necesita su propia clave SSH privada, que luego debe agregarse al archivo authorized_keys
del otro host.
¡No es una buena idea copiar claves privadas en todos los sistemas!
Piensa en secretos del mundo real. Cada persona que aprende el secreto aumenta las posibilidades de que se revele.
Cada vez que copia su clave privada a un nuevo sistema, aumenta su riesgo de exposición porque las claves privadas copiadas son menos seguras que el sistema más débil en el que viven (porque los otros sistemas tampoco son invulnerables).
Si le roban su computadora portátil, debe revocar todas las claves privadas (y las contraseñas guardadas) que se guardaron allí. Esto se vuelve problemático cuando la única forma de iniciar sesión en los servidores es con esa misma clave. ¡Será mejor que recuerdes generar una nueva clave en tu escritorio e instalarla en cada sistema desde el que revoques la clave anterior!
Ahora considere que su escritorio es pirateado y alguien roba su clave privada sin su conocimiento. Tal vez haya compartido esta clave entre su portátil de trabajo y su escritorio personal, pero su escritorio realmente no necesita acceso a su sistema de trabajo (porque tiene un buen equilibrio trabajo / vida). Ese atacante ahora puede acceder a su sistema de trabajo incluso sin comprometer su computadora portátil. El equipo de infosec en el trabajo te obliga a entregar tu computadora portátil para que puedan auditarla, pero después de una semana de análisis, no encuentran nada. No es tan divertido.
Esto puede parecer exagerado y poco probable, especialmente si usted no es un objetivo principal (por ejemplo, un ejecutivo o un administrador de sistemas), pero es una buena práctica, especialmente teniendo en cuenta lo fácil que es crear nuevas claves para cada sistema e instalar su público llaves en cada servidor apropiado. (Considere una de las miríadas de sistemas de propagación config / dotfile si esto parece desalentador).
Además, significa que actualizará la seguridad de cada clave para cumplir con los estándares a medida que mejoren. A medida que retira sistemas antiguos y elimina sus llaves, rota sus teclas más débiles. (Y si un recogedor de basura encuentra su computadora portátil anterior y anula sus llaves, no otorgarán ningún acceso).
Actualización: como una recomendación de seguridad adicional, debe generar un nuevo conjunto de claves para una nueva máquina y enviar su nueva clave pública a los distintos hosts en los que la usa, en lugar de copiar sus claves privadas. Sin embargo, si solo está moviendo todo a una nueva computadora, puede llevarse las llaves, pero recuerde destruirlas de manera segura en la computadora vieja.
La respuesta correcta es copiar su directorio .ssh
de la máquina anterior a la nueva. Esta parte es fácil ( scp -r .ssh user@newmachinehost:~
bien, o puede escribir las teclas en carácter por carácter, dependiendo de usted).
PERO , creo que el enlace que falta para responder a esta pregunta es lo que debe hacer después de copiar sus claves privadas a la nueva máquina.
Tuve que ejecutar lo siguiente para cada clave (tengo 3 claves separadas para varias organizaciones)
ssh-add .ssh/[key-filename]
Si se omite el argumento del nombre de archivo, se supone id_dsa
.
Una vez que haga esto en cada tecla (e ingrese la frase clave de la clave si es necesario, se le preguntará), ssh podrá usar esas claves para autenticarse.
De lo contrario, ninguna cantidad de copia hará mucho. SSH ignorará las claves en .ssh hasta que se utilicen explícitamente (mediante ssh -i [keyfilename] ...
).