Publi

  • Leer ficheros de configuración INI desde nuestros scripts en BASH

    Archivos de configuración en BASH
    Una de las tareas que debemos hacer como programadores es la de facilitar al usuario la configuración de nuestros programas. Haciéndolos más flexibles y adaptables a las necesidades de cada individuo.
    Y una forma muy fácil de definir configuración para nuestros programas es en ficheros con formato INI. Este formato se introdujo en los años 90 en versiones de Windows como la 3.1. En aquella época, teníamos en varios archivos con extensión INI la configuración de nuestro sistema Windows y teníamos que modificar los archivos y reiniciar Windows para que los cambios tuvieran efecto.… Leer artículo completo

  • Haciendo SSH a través de SSH. Rápido y fácil con ProxyCommand.

    SSH a través de SSH
    Como vemos en las películas de hackers. ¡Alguien ha conectado con el servidor y no podemos averiguar su IP porque ha estado rebotando a través de varios servidores! Bueno, yo me quejaría un poco de la velocidad de la conexión entre mi ordenador y el ordenador destino cuando paso por dos servidores intermedios. Pero puede ser un buen ejercicio. A la vez que útil cuando queremos ocultar el acceso a nuestro servidor o tenemos que acceder a un ordenador que está en una red privada.… Leer artículo completo

  • Programas que me han salvado la vida este 2016

    photo-1477244075012-5cc28286e465Otro de los posts típicos de fin de año que me gusta hacer (bueno, el año pasado fue el primero, aunque hace unos años ya empecé con el tema). Sabemos que un navegador, un cliente de correo y tal vez un programa de música son esenciales (y un S.O., pero no quiero ser pesado con ese tema), así como la mensajería instantánea, aunque en este último caso debemos coger el programa que más utilicen nuestros contactos o alguno compatible.… Leer artículo completo

  • Cómo especificar puerto y clave privada para SSH desde rsync

    reducida

    Si trabajamos a menudo con rsync para copiar archivos entre ordenadores, estaremos acostumbrados a una sintaxis parecida a esta:

    $ rsync -avh origen usuario@servidor:destino

    En realidad, para transmitir los archivos estaremos utilizando una conexión segura a través de ssh. Pero claro, en ocasiones, sería necesario utilizar algún argumento especial para ssh. En este ejemplo, imaginemos que queremos conectar al servidor por un puerto diferente del 22.

    Podemos hacerlo así:

    $ rsync -avh -e ‘ssh -p1234’ origen usuario@servidor:destino

    y si accedemos por par de claves pública-privada, en el caso de que queramos especificar un archivo de clave privada específico para esta conexión (a mí me ha sucedido que he necesitado utilizar rsync como root para poder acceder a algunos archivos y las claves las tenía en el usuario actual), lo podemos hacer así:

    $ rsync -avh -e ‘ssh -i archivo_identidad’ origen usuario@servidor:destino

    Ahora, un ejemplo completo y concreto de todo, en el que queremos acceder a nuestro servidor SSH por el puerto 28, además, el archivo de identidad o clave privada es id_rsa_webserver dentro del directorio .ssh de nuestro usuario (muy útil si ejecutamos rsync como root) luego el origen serían todos los archivos que encontramos en www/ y los copiaremos en un directorio remoto de nuestro servidor (tenemos que tener permiso para escribir ahí)

    $ rsync -avh -e ‘ssh -p28 -i /home/gaspar/.ssh/id_rsa_webserver’ www/* gaspar@miservidorweb.com:/home/web/externo/htdocs/

    Configuración local de ssh

    Otra posibilidad sería crear un archivo de configuración de ssh en nuestro ordenador, en el que podamos especificar los hosts a los que conectamos, el usuario que queremos utilizar, el archivo de identidad y el puerto.… Leer artículo completo

  • 2 Maneras de generar identificadores universalmente únicos (UUID) en C

    Una buena forma de poner nombre a nuestros recursos con más o menos certeza de que ese nombre es único, es utilizar UUID‘s. Es cierto, que si en máquinas diferentes se generan UUIDs al mismo tiempo, puede ser que haya cierta coincidencia en los valores generados (si nos ponemos cabezones, y si en algún sitio deben convivir varios UUIDs, podemos comprobar que no estén repetidos. Incluso, dependiendo del algoritmo utilizado para generarlos, puede que en la misma máquina haya valores repetidos.… Leer artículo completo