Esta noche, para evitar que me entrara sueño en el trabajo, me ha dado por pensar un poco en la aplicación y he llegado a la conclusión de que siguiendo el planteamiento que entradas anteriores propuse para seguir avanzando, se pueden cambiar de lugar algunos conceptos.
Le voy a dar más peso al Lanzador. Me refiero a que éste será el que haga de Oyente, el que haga de Coordinador cuando le corresponda y de servidor de actualizaciones.
Pero aún se me han ocurrido más cosas. Sería ideal llegar con un nuevo equipo, conectarme a la red y mediante Telnet conectarme al puerto Oyente de algún participante del que ya conozca su IP (no necesariamente debe de ser el Coordinador). Una vez conectado habría una conversación entre ese participante y yo en el que me solicitaría el nombre mi nombre de usuario del equipo en el que estoy. Con esta información y usando el Participante el comando scp, usuario y mi IP podrá enviarme el Lanzador.
Pero más aún, he leído cómo generar claves públicas para poderlas usar con SSH de modo que si el Coordinador quiere ejecutar comandos remotos en el resto de los participantes sin estar escribiendo las claves contínuamente, a la vez que se envía el Lanzador se podría enviar las claves públicas correspondientes. Aunque tendría que ver qué pasa cuando cambia un participante de rol y deja de ser Coordinador para serlo otro, supongo que copiando las claves públicas y privadas del antiguo Coordinador al nuevo, funcionaría. No lo sé, habrá que comprobarlo.
Si esto funciona, tras recibir el Lanzador y las claves para que el Coordinador pueda ejecutar comandos remotos sobre mi equipo, podría lanzarme automáticamente el Lanzador y cerrarme la conexión Telnet ya obsoleta. Éste, al ejecutarse por primera vez se percatará de que no tiene la aplicación GR y a través del servicio de actualización de código que ahora ha asumido el Lanzador, lo descargará en mi equipo.
Si consigo programarlo así, simplemente conectandome a un Participante cualquiera obtendría el Lanzador y a través de éste de modo automático, el GR y el Coordinador me generará las claves públicas y privadas para controlarme remotamente.
Según creo que he entendido, aunque las claves son para evitar estar escribiendo la password del usuario cada vez que se pretenda realizar un ssh, por lo menos una vez (para poder generar las claves) sí es necesario escribirlo. Lo que tengo que pensar es cómo pasar la contraseña de mi equipo al Coordinador de forma segura. Ya veremos, sobre la marcha.
No hay comentarios:
Publicar un comentario