Redireccionar puertos en Linux usando SSH

En algunas ocasiones necesitamos acceder a algún servicio o aplicación que usa un puerto diferente al que por defecto tenemos permitido.

Imaginemos que estamos usando en nuestro trabajo nuestro portatil con Ubuntu y queremos actualizar repositorios o usar facebook, messenguer, etc … Estos servicios usan un puerto determinado que en principio si no podemos usar directamente se debe a la existencia en la red de un firewall que esta capando un puerto determiando.

Pues bien utilizando SSH , nos enseñana como podremos crear un tunel sobre dicho servidor externo y evitar el firewall, usando nuestra máquina como servidor local y redireccionando todas las salidas sobre el puerto especificado, es bastante sencillo y nos saltaremos el cortafuegos gustosamente:

El ejemplo que vamos a utilizar es el saltarnos un firewall, en nuestra red que capa el puerto que utiliza ubuntu para actualizar unos repositorios en un host concreeto.

Imaginemos que deseaba agregar el repositorio UbuntuGis para instalar algunos paquetes del mismo (Grass y Quantum GIS entre otros), pero al añadirlo:

sudo add-apt-repository ppa:ubuntugis/ppa

Si hay un firewal en la red que capa dicho puerto obtendriamos el siguiente error::
Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver keyserver.ubuntu.com –recv 6B827C12C2D425E227EDCA75089EBE08314DF160
gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn’t connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret-keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver keyserver.ubuntu.com –recv 6B827C12C2D425E227EDCA75089EBE08314DF160gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.comgpgkeys: HTTP fetch error 7: couldn’t connect to hostgpg: no valid OpenPGP data found.gpg: Total number processed: 0

* Está capando el puerto 11371, el que usa el servidor de claves en la dirección: keyserver.ubuntu.com

Ahora bien para solucionar esto mediante un tunel con SSH hariamos lo siguiente:

1. Editamos el fichero /etc/hosts (como superusuario), en concreto la siguiente línea:
127.0.0.1 localhost keyserver.ubuntu.com

2. Guardamos y teniendo en cuenta que disponemos un servidor externo con un servidor SSH y sin restricciones en cuanto a firewall se refiere, lanzamos SSH con un tunel sobre el puerto 11371 local y redireccionando la salida sobre la dirección especificada (keyserver.ubuntu.com) y el mismo puerto. Tan sencillo como la siguiente línea (en este caso estoy usando el servidor de mi universidad, y nombre_usuario el nombre de mi usuario en el servidor ts.uco.es):

ssh nombre_usuario@ts.uco.es -L 11371:keyserver.ubuntu.com:11371

3. Nos autenticamos en el servidor y ya estamos preparados para agregar el repositorio, esta vez satisfactoriamente:

      blogofsysadmins.com@asubuntu:~$ sudo add-apt-repository ppa:ubuntugis/ppa
      [sudo] password for ahornero:
      Executing: gpg –ignore-time-conflict –no-options –no-default-keyring –secret
      keyring /etc/apt/secring.gpg –trustdb-name /etc/apt/trustdb.gpg –keyring
      /etc/apt/trusted.gpg –primary-keyring /etc/apt/trusted.gpg –keyserver
      keyserver.ubuntu.com –recv
      6B827C12C2D425E227EDCA75089EBE08314DF160
      gpg: requesting key 314DF160 from hkp server keyserver.ubuntu.com
      gpg: key 314DF160: “Launchpad ubuntugis-stable” not changed
      gpg: Total number processed: 1
      gpg:              unchanged: 1

¡Y listo!, ya tenemos una bonita forma de evitar un cortafuegos para un uso concreto, en este caso agregar un repositorio.

Solo para Netbook, EasyPeasy 1.6 (S.O.)

Release Candidate de EasyPeasy 1.6. Se trata de una distribución GNU/Linux basada en Ubuntu Netbook Remix con una interfaz muy sencilla y optimizada para netbooks en cuestión de drivers y rendimiento. Llega cargada de aplicaciones de uso común en este tipo de dispositivos y además disfruta de un tiempo de arranque muy bajo, tan sólo 45 segundos, un 25% menos que la versión anterior.





Sabiendo que hay muchas opciones en el mercado de distribuciones de GNU/Linux para netbooks, os presentamos EasyPeasy 1.6, que llega a la fase de desarrollo Release Candidate y está basada en Ubuntu, por lo que hay una gran cantidad de software disponible en repositorios y una gran comunidad detrás para recibir soporte. Además, se trata de una distribución muy ligera tanto en espacio ocupado como en memoria RAM usada.

En cuanto a características principales:

* Nuevo sistema de arranque y renovados motivos gráficos.
* 1.6 RC ha eliminado el paquete HAL, lo que hace que arranque más rápido y se “despierte” desde el estado suspendido más rápido también. Veamos un ejemplo de su arranque un 25% más rápido.
* Interfaz nueva.
* Integración con Twitter, identi.ca, Facebook y otras redes sociales con MeMenu en el panel.
* Soporte para Autenticación Active Directory.
* Soporte de gráficas NVIDIA vía el controlador open source.
* Actualización de todos los paquetes.

Stio oficial de descarga http://www.geteasypeasy.com/index.php?menu=download

Ejecutar scripts desde GEdit

Para muchos de nosotros Gedit no es más que un editor de textos, reemplazo del clásico bloc de notas de Windows, en el que podemos modificar pequeños y simples (al carecer de formato) ficheros de texto como ficheros de configuración y/o propiedades.

Aunque mi entorno de desarrollo (IDE) suele ser Eclipse, de un tiempo a esta parte vengo utilizándolo muy a menudo para la creación y edición de scripts tanto en Bash como en Groovy (lenguaje que, por necesidades del cliente, me he visto “obligado” a aprender).

Cansado de la rutina de editar el fichero con GEdit (o vim si se terciaba), y tener abierta una terminal para probar lo que iba modificando me dio por investigar qué otras alternativas existen para ello descubriendo la potencia y flexibilidad del complemento Herramientas externas.

Activando el complemento

Tan sencillo como buscarlo en las preferencias de GEdit

null

y marcar la casilla correspondiente

null

para finalizar no queda más que configurarlo

null

Definiendo el primer script

Como introducción y, a modo de ejemplo, nos limitaremos a mostrar en consola el resultado de listar el contenido del directorio temporal del sistema (/tmp) para lo cual añadiremos un nuevo comando pulsando el botón existente para ello

null

y escribiremos el siguiente código en la zona de edición habilitada

ls -l /tmp

null

A modo de referencia podéis ver cómo he definido el resto de parámetros del script en la siguiente captura

null

destacando entre ellos

  1. Tecla rápida para lanzar el script cuando estemos editando en GEdit sin tener que buscar el script en los menús de la aplicación
  2. Guardar: Documento actual para evitarnos tener que preocuparnos de guardar el documento antes de lanzar el script. Con el valor Documento actual se guardará el fichero que estemos editando de modo que lo que se ejecute sea exactamente lo último que hemos escrito evitando de este modo falsos resultados (imagina que haces algunos cambios y ejecutas el script: se ejecutaría sobre lo último que tienes en disco que no coincide en absoluto con lo que estás viendo en pantalla)

Ejecutando scripts

Tan sencillo como pulsar la combinación de teclas definida en el paso anterior (CTRL+SHIFT+E en la configuración de referencia) y observar el resultado en el panel inferior del editor

null

NOTA: Curiosamente, si estás editando un documento nuevo que no ha sido guardado nunca en disco, el complemento se limita a pedirte dónde guardarlo y no ejecuta el script  . En dicho caso dale un nombre y vuelve a lanzarlo pulsando nuevamente la combinación de teclas asociada.

El script definitivo

Una vez que hemos aprendido cómo funciona el complemento con un ejemplo sencillo (listar el contenido del directorio /tmp) pasemos a la finalidad de este artículo: ejecutar el contenido del script que estamos editando.

No tenemos más que cambiar el código del script anterior por éste:

chmod a+x $GEDIT_CURRENT_DOCUMENT_PATH;
$GEDIT_CURRENT_DOCUMENT_PATH;

null

donde:

  1. chmod a+x $GEDIT_CURRENT_DOCUMENT_PATH; le da permisos de ejecución (a todos los usuarios) al fichero actual.
  2. $GEDIT_CURRENT_DOCUMENT_PATH; permite ejecutarlo.

para entender la segunda línea debe tenerse en cuenta el significado y utilidad de las distintas variables que admite el complemento.

Conclusión

GEdit es, en apariencia, un sencillo editor de textos que consume muy pocos recursos y que está llamado a convertirse en el equivalente a editores de textos como el UltraEdit de Windows (que al escribir este artículo acabo de descubrir que ya existe versión para Linux :O aunque, como era de esperar, no es Software libre :( )

Bonus tip

Para aquellos que les haya llamada la posibilidad de ejecutar scripts desde Gedit les recomiendo que le echen un vistazo a la colección de ejemplos de scripts que existe pues es mucho lo que se puede aprender de ellos.

fuente : http://andalinux.wordpress.com/2010/07/19/gedit-avanzado-ejecutar-scripts-desde-el-editor

fuente : andalinux.wordpress.com

Cambiar el UUID de un disco virtual en VirtualBox

Hace 3 días, pretendía hacer una prueba con VirtualBox y una máquina virtual donde tengo instalado Ubuntu. Como no quería alterar la máquina virtual, pensé que el camino más fácil consistía en hacer una copia del archivo con extensión .vdi (el archivo que contiene el disco duro virtual donde tengo instalado el sistema) y crear una máquina virtual nueva que, en realidad, seria una copia de la que ya tenía. Si, ya sé que las máquinas virtuales se pueden exportar, pero ¿qué es la vida si no se hacen experimentos?

Por supuesto, tuve la precaución de hacer la copia con la máquina virtual apagada (no vale cerrar guardando el estado).

Todo parecía ir bien hasta que intenté asignar el disco copiado a la nueva máquina. En ese momento, recibí un error como este:

error_uuid_01 virtualbox
error_uuid_01 virtualbox

El motivo es que ha detectado que existen dos discos con el mismo identificador (el original y la copia).

Si alguna vez te ocurre lo mismo, la solución es tan sencilla como decirle a VirtualBox que cree un identificador nuevo para el disco que acabas de crear. ¿Que cómo lo haces?, pues abre una ventana de Consola (Aplicaciones > Accesorios > Terminal) y dirígete al directorio donde tienes los discos duros virtuales para VirtualBox. Normalmente, la orden necesaria será esta (puedes copiar y pegar si te resulta más sencillo):

cd ~/.VirtualBox/HardDisks

A continuación, sólo tendrás que escribir (o copiar y pegar de nuevo) la siguiente orden:

VBoxManage internalcommands setvdiuuid "Ubuntu (copy).vdi"

… donde, lógicamente, tendrás que cambiar el nombre Ubuntu (copy).vdi por el que le hayas dado tú al archivo que has copiado (a la copia, no al original)

Después de esto, ya puedes crear una nueva máquina, que utilice el disco duro virtual que has duplicado, y tendrás un clon perfecto de la máquina original.

Espero que te resulte útil.

fuente: sliceoflinux.com

Instalar Spotify (nativo) en Linux

Es una versión experimental de Spotify pero menos es nada:

# 1. Añade esta línea a tu lista de repositorios editando /etc/apt/sources.list
deb http://repository.spotify.com stable non-free

# 2. Ejecuta apt-get update
# 3. (opcional) Si quieres verificar los paquetes descargados, debes añadir nuestra llave pública

gpg –keyserver wwwkeys.de.pgp.net –recv-keys 4E9CFF4E
gpg –export 4E9CFF4E |sudo apt-key add –

# 4. Ejecuta apt-get install spotify-client-qt spotify-client-gnome-support

Enlace | Instrucciones de Instalacion