Por eso podemos usar la conexión automática compartiendo claves (pública y privada). Voy a crear un pequeño HowTo usando información que he encontrado en crysol.org.
Me ha surgido a mí el problema porque en el aula de informática hay un ordenador del profesor y varios ordenadores para los alumnos. Lo que quiero hacer es desde el ordenador del profesor lanzar tareas administrativas a los clientes. Por ejemplo, actualizaciones, copias de seguridad, compartir carpetas, etc.
Debemos definir correctamente quién es el servidor y quién es el cliente.
- El servidor es el ordenador al que nos vamos a conectar (en mi caso es uno de los pcs de los alumnos)
- El cliente es el ordenador del que nos conectamos (en mi caso es el ordenador del profesor, el que ejecutará remotamente los scripts).
Lo que haremos es en el cliente (ordenador del profesor) crear las claves pública y privada:
madrid@cliente:~$ ssh-keygen -b 4096 -t rsaNos pedirá dónde queremos guardar la clave (por defecto es en $HOME/.ssh/id_rsa) y pulsaremos ENTER para admitir esa ruta por defecto.
Luego pide una clave de paso (passphrase), que dejaremos en blanco para no tener que introducir ninguna al hacer después la conexión. Y luego volvemos a aceptar la misma clave vacía. Es decir, se pulsa dos veces ENTER.
Al terminar nos sale un diálogo diciendo que se ha creado todo correctamente.
Ahora tenemos creadas en $HOME/.ssh las dos claves:
madrid@cliente:~/.ssh$ ls -lAhora debemos copiar la clave pública a los servidores (ordenadores de los alumnos). Para ello simplemente copiamos la clave con la siguiente instrucción:
total 12
-rw------- 1 madrid madrid 3243 2010-04-28 22:27 id_rsa
-rw-r--r-- 1 madrid madrid 734 2010-04-28 22:27 id_rsa.pub
-rw-r--r-- 1 madrid madrid 1326 2010-04-28 22:27 known_hosts
madrid@cliente$ ssh-copy-id madrid@servidorY con esto ya está toda la configuración realizada y ya podemos conectarnos directamente compartiendo claves.
Observaciones:
- El directorio .ssh en el servidor debe existir y tener los permisos 700 y el fichero authorized_keys debe tener los permisos correctos (0600); sino debemos cambiarlos (chmod 600 $HOME/.ssh/know_hosts).
- La primera vez que se accede a una máquina se almacena su host_key en el fichero $HOME/.ssh/know_hosts.
Después de mis pruebas:
Ya he hecho algunas pruebas y he conseguido configurar sin ningún problema 4 equipos.
Como ya tenía creadas las claves, simplemente he empezado a ejecutar desde un terminal ssh-copy-id madrid@192.168.1.112 y después me he podido conectar sin ningún problema.
De hecho he podido hacer esto simplemente señalando la IP, no hace falta señalar el nombre de máquina. Y es más, al tener el mismo usuario en ambas máquinas, puedo simplemente ejecutar ssh-copy-id 192.168.1.112.
Resumiendo las instrucciones:
- ssh-keygen -b 4096 -t rsa
- ssh-copy-id 192.168.1.112
- ssh-copy-id 192.168.1.113
- ...
- y la conexión ya es compartiendo claves desde el cliente (profesor) a los distintos puestos servidores (alumnos)
Esto era lo que buscaba muchas gracias..
ResponderEliminar