Comandos para ver la versión de Ubuntu

Ubuntu 2 Comentarios »

A modo de chuleta aquí dejo una serie de comandos para ver la versión de Ubuntu y del kernel…
$ cat /etc/issue
$ cat /etc/lsb-release
$ cat /etc/apt/sources.list
$ uname -a

… alguien le servirá.

Error WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! al intentar conectarse por ssh

Ubuntu 1 Comentario »

Esto era novedad. He tenido que formatear un servidor y al intentar conectarme de nuevo desde otro servidor del que ya me conectaba antes recibo este error:

david@backups:~/.ssh$ ssh root@172.31.0.41

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
d4:22:66:d1:7a:83:e4:77:75:d0:e8:ec:52:d9:1d:aa.
Please contact your system administrator.
Add correct host key in /home/david/.ssh/known_hosts to get rid of this message.
Offending key in /home/david/.ssh/known_hosts:10
RSA host key for 172.31.0.41 has changed and you have requested strict checking.
Host key verification failed.


Claro, evidentemente la clave RSA había cambiado y no correspondía con la que había guardada en el fichero known_hosts y no era posible la conexión.

La solución la da el propio mensaje, la clave obsoleta se encontraba en la linea 10 de mi fichero known_host tal y como dice el mensaje de error.

Eliminamos la huella antigua con el siguiente comando:

$ sed -i 10d ~/.ssh/known_hosts

Notese que en el comando he puesto que borrase la linea 10. Y ya puedo conectarme de nuevo ya que ofrece la nueva huella de la nueva identidad del servidor nuevo.

En caso de querer añadir de nuevo la clave publica al nuevo servidor tan solo hemos de ejecutar el siguiente comando:

david@backups$ cat ~/.ssh/id_rsa.pub | ssh root@172.31.0.41 ‘cat – >> ~/.ssh/authorized_keys’

Eliminar archivos en subdirectorios recursivamente con Ubuntu

Scripts, Ubuntu No hay Comentarios »

Ya llevaba yo un tiempo queriendo estandarizar la eliminación de ficheros con un tipo de extensión a partir de un directorio padre. Hasta ahora y por las prisas lo realizaba con un script personalizado para cada directorio eliminando ficheros con extensión .enc.

Estos ficheros son el resultado de encriptar backups de bases de datos antes de enviarlas por Internet para almacenarlas fuera del edificio y así garantizar la recuperación ante un desastre que afectase al CPD.

Bueno, el caso es que despues de encriptar los ficheros de base de datos se quedaban en varios directorios y subdirectorios los ficheros backup_mysql…….tar.gz.enc y había que eliminarlos poco mas o menos que de forma personalizada ya que esos ficheros después de enviados al sitio remoto no me sirven de nada en local salvo para ocupar espacio.

Dedicando un poco de tiempo a estos comandos, sobre todo al maravilloso find es posible hacer todo esto en una sola linea de comando. Para mi que aún renqueo con los comandos de linux es todo un hallazgo.

El comando se debe ejecutar en el directorio de interés. “find” por naturaleza se mueve recursivamente, así que descenderá a todos los directorios desde el original, borrando los archivos de la extensión en cuestión.

He conseguido llegar a dos comandos que realizan la misma tarea:

  • $ find ./directorioinicial/ -name *.enc -type f -print | xargs /bin/rm -f

el segundo mas simple encontrado por ahí googleando:

  • $ find -name “*.enc” -exec rm {} \;

Aquí queda de apunte para que a alguien le resulte mas sencillo de averiguar.

Para comprobar sobre que ficheros va a actuar solo hay que cambiar el comando “rm” por “ls”.

Matar procesos zombie en Ubuntu

Ubuntu 2 Comentarios »

Hay una forma de matar los procesos zombie muy sencilla, para ello primero hay que detectarlo y suele ser al iniciar sesión en un servidor que nos da un mensaje indicándolo o a través del comando top.

Los procesos zombies pueden ser identificados en la salida por pantalla del comando de Unix ps por la presencia de una Z en la columna de estado. Por ello para poder encontrar cual es el proceso ejecutamos el comando:

$ sudo ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘

y para eliminarlo:

$ sudo kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘ | awk ‘{print $2}’`

WP Theme & Icons originales por N.Design Studio.
Aviso Legal Entradas RSS Comentarios RSS Acceder