martes, agosto 13, 2013

Usar nano con Context Highlighting

Cuando estamos escribiendo scripts en shell es mas comodo si tenemos el codigo con color para las variables, funciones y tipos de datos, con el editor nano es posible agregar esta funcionalidad.

Primero debemos editar el siguiente archivo para agregar las "librerias" para cada lenguaje
/etc/nanorc

Agregamos los siguientes includes dependiendo del lenguaje que queremos instalar
include "/usr/share/nano/asterisk.nanorc"
include "/usr/share/nano/php.nanorc"
include "/usr/share/nano/html.nanorc"
include "/usr/share/nano/sh.nanorc"
 
Si no cuentan con los archivos los pueden descargar de la siguiente ruta
wget http://pbxinaflash.net/source/nano/asterisk.nanorc
wget http://pbxinaflash.net/source/nano/php.nanorc
wget http://pbxinaflash.net/source/nano/sh.nanorc

Una vez descargados no olvidar incluirlos en /etc/nanorc.

SSH : Llaves publicas

El dia de hoy me encontre con la situacion de tener que agregar llaves publicas entre dos servidores para de esa forma poder comunicarme mediante ssh sin necesidad de un password, es un metodo de confianza entre dos equipos en el que se crean un par de llaves, una privada y una publica, en donde la llave publica es la que se distribuye a los servidores a los que deseamos conectarnos sin necesidad de estar poniendo un password, bien empezemos.

Primero creamos las llaves
ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d2:bf:d1:b0:79:95:1b:84:ce:db:e5:19:69:da root@server
The key's randomart image is:
+--[ RSA 2048]----+
|               .o|
|             . ++|
|            . =.o|
|       .   o o E.|
|      . S . o +o |
|       . . = + +o|
|          = + o .|
|           +     |
|          .      |
+-----------------+

Despues enviamos la Llave publica al server destino
cat .ssh/id_rsa.pub | ssh root@ServerDestino 'cat >> .ssh/authorized_keys'

*Algunas veces es necesario enviar la llave publica al authorized_keys2
cat .ssh/id_rsa.pub | ssh root@ServerDestino 'cat >> .ssh/authorized_keys2'

Con esto ya podemos acceder a nuestro servidor mediante ssh sin necesidad de password, lo cual en mi caso es muy util al momento de realizar scripts en donde necesito acceder a recursos que se encuentran en otro servidor, saludos.