Mostrando las entradas con la etiqueta ssh. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ssh. Mostrar todas las entradas

06 febrero 2009

Xming: abrir aplicaciones Linux en Windows

Xming es un servidor X ligero que nos permite abrir aplicaciones Linux remotamente desde Windows. Para ello sólo necesitamos seguir estos pasos:

  1. Instalar el software de Xming y el putty (aunque hay una versión del Xming que ya trae el putty)
  2. Arrancar el Xming (no el Xlauch que lía un poco)
  3. Abrir el putty y antes de conectar ir a la categoría Connection > SSH > X11 y marcar Enable X11 forwarding (se puede poner localhost:0 en el X display location, pero es opcional si ponemos todo por defecto)
  4. Entrar en el servidor remoto como root y editar el fichero /etc/ssh/sshd_config
  5. Asegurarse de que pone: X11Forwarding yes
  6. Si hicimos cambios en el fichero (cambiar 'no' por 'yes') debemos reiniciar el servidor sshd ejecutando: > /etc/init.d/ssh restart

24 julio 2008

Cómo conectarse por SSH o SCP sin contraseña

Se necesitamos acceder vía SSH o SCP sin necesidad de introducir la contraseña, hay que seguir los siguientes pasos:

  1. Generamos dos archivos, id_rsa.pub e id_rsa en nuestro equipo:
    > ssh-keygen -t rsa
  2. Copiamos el contenido del primero (clave pública) al otro ordenador, específicamente al archivo authorized_keys dentro de ~/.ssh/

    1. Primero lo copiamos por SCP al directorio del usuario remoto.
      > scp id_rsa.pub usuario@servidor:
    2. Nos conectamos por SSH y vemos si existe el archivo authorized_keys dentro de ~/.ssh/.
      1. Si no existe, escribimos:
        > mv id_rsa.pub .ssh/authorized_keys
      2. Si el archivo existía (que significa que para ese usuario en ese PC, hay otras claves públicas “de confianza”), añadimos nuestra clave pública (copiando los contenidos de id_rsa.pub a authorized_keys):
        > cat id_rsa.pub >> .ssh/authorized_keys
    3. Para probar si funciona ejecutamos un comando remotamente, por ejemplo hostname, que nos da el nombre de la máquina(y no debería pedir ninguna clave ahora):
      > ssh servidor.com hostname
Nota: Si necesitamos usar una clave dsa en lugar de rsa por la versión del SSH, simplemente cambios en los comandos rsa por dsa y serán generados los ficheros id_dsa.pub e id_dsa. El resto del procedimiento es el mismo, aunque también nos puede ocurrir tengamos que guardar la clave pública generada en authorized_keys2, en vez de authorized_keys dependiendo de la versión del SSH.

Fuentes:
http://www.bootlog.cl/blog/linux/tip-ssh-scp-y-un-as-bajo-la-manga/
http://www.alu.ua.es/p/psp4/Documentacion/Octubre_2001/ssh.html

21 abril 2008

Túnel SSH para conectarse a subversion

Vou a poner un caso ilustrativo que puede ser extensible a casos similares. Tenemos un Equipo A que quiere acceder a un repositorio de Subversion (puerto 3690) de un Equipo B, pero el Equipo B tiene restringido el acceso a determinadas IPs entre las cuales está el Equipo C (en el cual tenemos cuenta). La solución es utilizar un túnel ssh para poder conectar el Equipo A al Equipo B a través del Equipo C.


EquipoA> ssh -L3690:EquipoB:3690 EquipoC


Lo que significa: "crea un túnel SSH para que el puerto local (Equipo A) 3690 esté conectado con el puerto 3690 del Equipo B a través del Equipo C."

Una vez establecida la conexión (nos pedirá los datos de la cuenta del Equipo C que usamos de intermediario), podemos conectarnos a su repositorio mediante la URL: svn://localhost:3690 desde el Equipo A de forma transparente.

Existe otra alternativa sin usar el Equipo C de intermediario cuando tenemos cuenta en el propio Equipo B al que nos queremos conectar:


EquipoA> ssh -L3690:EquipoB:3690 EquipoB


Lo que significa: "crea un túnel SSH para que el puerto local (Equipo A) 3690 esté conectado con el puerto 3690 del Equipo B directamente por SSH". Nos conectaremos al repositorio con: svn://localhost:3690

Una última opción, si tenemos acceso ssh al Equipo A, sería conectarnos por ssh al Equipo B y desde ahí ejecutar (usando ahora el parámetro -R para dejar el puerto accesible desde el equipo al que nos conectamos, no desde el que lo lanzamos) :


EquipoB> ssh -R3690:EquipoB:3690 EquipoA


Lo que significa: "crea un túnel SSH para que el puerto 3690 del Equipo B esté conectado con el puerto 3690 del Equipo A directamente por SSH". Nos conectaremos al repositorio con: svn://localhost:3690

Nota 1: La conexión permanecerá activa mientras dure la sesión SSH.

Nota 2: Desde Windows se puede utilzar el putty para crear el túnel, introduciendo los parámetros en la categoría Connection > SSH > Tunnels y luego conectándonos al EquipoB por ssh como siempre.