6 de diciembre de 2010

Autenticación por llaves con OpenSSH

Mi última clase de esta generación del diplomado, me hizo recordar un procedimiento que es muy sencillo pero también es muy util cuando se requiere pasar un script a múltiples servidores, o cuando se requiere de hacer respaldo y almacenarlo en un servidor dedicado para ello.

Si realizamos un respaldo, generalmente se realizan en la madrugada, por lo que impensable que nosotros tecleemos la contraseña a la hora que el respaldo se pase al servidor dedicado para ello. Para éste propósito podemos utilizar una autenticación por llaves.

Al utilizar este procedimiento al intentar conectarnos a un servidor, en vez de pedirnos password, se realizará la autenticación vía el esquema de llaves públicas y privadas.

A continuación, se describen los pasos que debe hacerse en el cliente:

1.- Crear directorios .ssh

[cliente]$ssh localhost
CTRL + C

(con esto se crearán el directorio .ssh en el $HOME, sin la necesidad de preocuparnos de hacerlo manualmente y colocar los permisos).




2.- Generamos llave pública y la privada

[cliente]$cd $HOME/.ssh

[cliente]$ssh-keygen


3.- Copiamos la llave pública al servidor

[cliente]$scp id_rsa.pub 45.28.75.124:/root/.ssh


Ahora, describiremos las instrucciones que deben ejecutarse en el servidor:


4.- Crear directorios .ssh

[servidor]$ssh localhost
CTRL + C

(con esto se crearán el directorio .ssh en el $HOME, sin la necesidad de preocuparnos de hacerlo manualmente y colocar los permisos).

5.- Editar el archivo /etc/ssh/sshd_config y descomentar las siguientes directivas:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

6.- Agregar al contenido de la llave pública que pasamos en el punto 3 al archivo authorized_keys:

[servidor]$cd $HOME/.ssh

[servidor]$cat id_rsa.pub >> authorized_keys


7.- Por último reiniciamos el sshd

[servidor]$/etc/rc.d/rc.sshd restart (slackware)

[servidor]$service sshd restart (fedora/redhat)


Una vez que hemos terminado, solo faltaría la prueba de oro, probarlo :D

[cliente]ssh direccionIPServidor

Si has podido ingresar al servidor sin la necesidad de colocar el password, muchísimas felicidades!!!!!!!


Tips: utilizar el mismo usuario en el cliente y en el servidor.



16 de noviembre de 2010

Un sueño hecho realidad!!! :D

En esta ocasión quisiera compartirles algo muy especial para mí, ya que he cumplido uno de los sueños de toda la vida.

Y seguramente se preguntarán ¿que es eso?, pues es nada más y nada menos que ¡¡tener una mascota!!! :D

En mis tiempos de niñez y de (más) juventud, siempre quize tener una mascotita, pero por cuestiones quizás de espacio o de $$, nunca pudimos conseguirlo (o al menos eso fue lo que me dijeron).

Frases como, "nos va a llenar todo de pulgas" o "si entra él, sales tú" o "quién lo va a cuidar" o "como la vas a dar de comer", fueron los impedimentos para anteriormente lograrlo.

Con apenitas 2 meses de vida (aunque en realidad se me hace que tenía 1), llegó a mi vida Goliath :

Si lo sé, no soy buen fotógrafo...

25 de mayo de 2010

Compatibilidad Office 2007, 2003 y XP

Hola mis estimados lectores, en esta ocasión quisiera escribir sobre algo que es muy recurrente en las oficinas hoy en día (mayo/2010).

Cuantas veces no nos hemos encontrado con que nos envían un archivo hecho con Word, Excel o inclusive Power Point que es de suma importancia, que quizás sea urgente abrir; pero por azares del destino, alguien lo hizo con una versión superior a la que tenemos instalada en nuestro equipo y no podemos abrirlo (seguramente cuando sucede esto, se experimenta un grado alto de ansiedad y de estrés y afloran nuestros más sanguinarios instintos).

En este tipo de situaciones seguramente el soporte técnico nos indicará que debemos actualizar la versión del software pero podríamos tener las siguientes desventajas:

  1. Tenemos que comprar una licencia ($$$).
  2. Si optamos por una licencia pirata incurrimos en un delito .
  3. Si la computadora no es de lo mejorcito, el instalarle la versión 2003 o 2007, puede hacer de nuestro equipo algo infamemente lento.
  4. El problema solo se resuelve en un equipo, por lo que si en la oficina existen otros equipos (que seguramente será que sí), el problema global persiste.

En vez de gastar, delinquir y/o sufrir a lo imbécil, será mejor instalar un pequeño software que la misma gente de Microsoft distribuye a través de su portal el cual nos permitirá que al momento de abrir un archivo con Word 2003, lo podamos abrir sin ningún problema en Word XP.

Lo único que hay que hacer es bajar el software de la siguiente liga (clic aquí), instalarlo y reiniciar la computadora.

Al intentar abrir un archivo que haya sido hecho con una versión superior, se podrá abrir sin ningún problema, se podrá modificar y guardar los cambios sin ningún deterioro en su formato y en el rendimiento del equipo.

No olviden dejar sus comentarios.

4 de marzo de 2010

Generación de documentos XLS y DOC dinámicos con PHP

Cuando estamos desarrollando un software, siempre es necesario generar una serie de reportes para diferentes catálogos creados dentro de él. Estos reportes generalmente son html, pero en ocasiones también es necesario exportarlos a otros formatos, por ejemplo .doc (word) y .xls (excel).

En el presente artículo veremos como generar esos reportes de forma fácil y sencilla a partir del código html ya generado.

Supongamos que tenemos un reporte html, por ejemplo como el siguiente:

Cuando generamos este reporte html, lo que se hace en realidad es enviar cabeceras al servidor de apache para indicarle, en este caso, que se trata de un documento html (<html> ... bla bla bla).

Entonces lo único que tenemos que hacer, es agregar el siguiente código al princpio del archivo para enviar cabeceras e indicarle al servidor apache, que lo que sigue lo interprete como un documento xls (excel):

header("Content-type: application/vnd.ms-xls");
header("Content-Disposition: attachment; filename=archivo.xls);

Para generar un documento para word, solo es necesario cambiar xls por doc. Veamos un ejemplo completo:


<?php
header("Content-type: application/vnd.ms-doc");
header("Content-Disposition: attachment; filename=archivo.doc");
?>
Este es un ejemplo para generar un documento word




En este ejemplo lo único que se coloca entre las etiquetas php, son las cabeceras para generar el documento exportable. Lo demás es html puro.

Para generar un documento excel, es exacmente lo mismo, sin embargo para que cada valor caiga en una celda, se tiene que generar una tabla con código html.


<?php
header("Content-type: application/vnd.ms-xls");
header("Content-Disposition: attachment; filename=archivo.xls");
?>
<table border=1>
<tr><td>Celda1</td><td>Celda2</td></tr>
<tr><td>Celda3</td><td>Celda4</td></tr>
</table>


Este es un breve ejemplo, pero que sin duda le abrirá un mundo de posibilidades al lector para implementar esta funcionalidad.

Nota aclaratoria: Es importante hacer notar que para que el ejemplo funcione el archivo tiene que tener extensión .php.

No olvides dejar tus comentarios. Hasta la próxima!!!!