Post from September, 2009

Acceder por SSH y SCP a servidores con clave pública y privada

Friday, 18. September 2009 14:27

Poder acceder a nuestros servidores utilizando el par de claves pública/privada no es solo útil pra no tener que estar introduciendo la contraseña cada vez que accedemos, sino por que a lo mejor necesitamos ejecutar un script de shell que tiene que mover datos o ficheros entre servidores. Vamos a ver como hacerlo.

Crear las claves pública y privada

Lo hacemos desde el directorio $HOME del usuario del servidor

# ssh-keygen  -b  4096  -t  rsa

Se genera entonces las dos claves con el sistema RSA en el directorio oculto .ssh : $HOME/.ssh/id_rsa , $HOME/.ssh/id_rsa.pub

Copiamos la clave pública al servidor o host

Y esa clave la almacenamos en el fichero ‘authorized_keys, dentro de .ssh (los permisos tienen que ser 600 , es decir #chmod 600 .ssh/authorized_keys) Comprobar “muy importante”, que el direcorio oculto .ssh del directorio $HOME del usuario tenga los permisos a 700 (# chmod 700 $HOME/usuario/.ssh )

# scp .ssh/id_rsa.pub  ip_servidor:.ssh/clave_new
# ssh ip_servidor
# cd .ssh/
# cat clave_new >> authorized_keys
# rm clave_new

La primera vez que se accede a un servidor se guarda su host_key en el fichero $HOME/.ssh/know_hosts.
Entonces ya podemos utilizar ssh y scp con ese servidor sin tener que proporcionar la clave en cada conexión. Esto lo tenemos que hacer con cada servidor, y sirve a la par también de forma recíproca.

Si queremos hacer lo mismo con un cliente Windows y estamos usando Putty para acceder vía ssh, en la web de Putyy tenemos la aplicación Puttygen , para generar el par de claves pública/privada. Hacemos lo mismo que lo anterior, añadir la clave pública a ‘authorized_keys’ del servidor. Pero copiamos la que viene indicada como : ‘ Public Key for pasting into openSSH authorized_keys file ‘ , no la que hemos guardado con el botón. Ver imagen.

putty_keygen

Category:Linux, Sistemas | Comment (0) | Author:

Tareas automatizadas con cron en Linux

Thursday, 17. September 2009 12:16

Si necesitamos que un script o un comando o tarea se ejecute regularmente, usamos el planificador estándar de Linux ‘cron’ . Si queremos que algo susceda todos los días, o los sábados de cada mes a una hora eterminada, una tarea cron lo puede hacer por nosotros :-)

El ‘demonio cron’ comprueba cada minuto si hay que hacer algo o si ha cambiado alguna tarea cron. Para añadir tareas al cron o ver las que contiene, se edita el fichero /etc/crontab [ o con el comando 'crontab -l', nos da la lista de tareas cron. Para editar 'crontab -e' (ojo! editamos las tareas del usuario con el que estamos logeado) ]

Cada línea del archivo crontab contiene la especificación del día/hora y el comando o script a ejecutar:

minuto   hora   día-del-mes   mes   día-de-la-semana   comando

  • minutos : valor entre 0 y 59
  • hora : valor entre 0 y 23
  • día-del-mes : 1 y 31
  • mes : entre 1 y 12
  • día-de-la-semana: entre 0 y 7 (0 y 7 es domingo)
  • un (*) significa cualquier valor
  • Dos valores separados por guión indica un rango. Por ejemplo 1-3 en campo mes, indica de Enero Marzo)
  • Para indicar más de un valor, separar por comas
  • el modificador (/) indica con su valor las unidades que se incrementa entre valores. Un valor en mes */4 , indica cada cuatro meses.

Algunos ejemplos :

5  *  *  *  * rm /tmp/*.gif # elimina cada 5 minutos los archivos GIF

0  7  1   *   *  /home/usuario/copiadeseguridad.sh # ejecutar todos los primeros de mes un script (copia de seguridad) a las 7:00 de la mañana :

Category:Linux, Sistemas | Comment (0) | Author: