Imprimir

Conexión remota segura en Linux: SSH

SSH (Secure SHell) es un protocolo similar a Telnet que permite abrir un shell en una máquina remota, con la diferencia de que SSH encripta toda la información que viaja por la red utilizando criptografía híbrida. Este procolo se implementa con arquitectura cliente-servidor, por lo que necesita:

  • un servidor SSH en la máquina remota (por defecto, en el puerto 22 TCP).
  • un cliente SSH que nos permita conectarnos al servidor.

En Linux se utiliza la implementación SSH de OpenBSD, denominada OpenSSH (openssh.com/es/, paquetes openssh-server openssh-client), que proporciona varias aplicaciones:

12 Comentarios en “Conexión remota segura en Linux: SSH”

  • rakjd dice:

    Me parece un buen post que explica muy bien el funcionamiento de ssh, me ha ayudado mucho.

  • momoy dice:

    Mira no se nada de linux, estoy comenzando en este mundo, pero de verdad, tremenda explicacion la que hacen ustedes, los felicito.

  • sebastian dice:

    hola amigos ahi les dejo un programita en perl para hacer un acceso remoto, respaldar una bd y traerla de regreso. espero les sirva de algo.

    se definen 2 variables para las 2 db que tengo pero en lo que puse solo respalda una para la otra se hace exactamente lo mismo.

    #!/usr/bin/perl

    # Definimos los modulos de perl que vamos a usar
    use Net::SSH::Perl;
    use Net::SCP::Expect;

    # Host del servidor que contiene las BD
    $host=”148.211.200.6″;

    #Nombre que le pondremos al respaldo sql
    $archivo=”CW-Horde.sql”;
    $archivo1=”CW-mysql.sql”;

    # Ruta donde se dejaran los archivos respaldados
    $ruta=”/RESPALDO/BASESDEDATOS/CorreoWeb/”;

    #Usuario SSH
    $userS=”root”;
    $passwordS=”**********”;

    #Credenciales de Base de Datos
    $user=”respaldo”;
    $password=”********”;

    # Se hace la conexion ssh al servidor a respaldar
    $ssh=Net::SSH::Perl->new($host) or die $!;
    $ssh->login($userS, $passwordS);

    # Se Respalda la BD horde
    ($stdout, $stderr, $exit)=$ssh->cmd(”mysqldump -u $user –password=$password horde > $archivo”);
    die $! unless (!$exit);

    # Creamos la conexion para transferir el archivo – respaldo de BD
    $scpe=Net::SCP::Expect->new(host => $host, user => $userS, password => $passwordS) or die $!;

    # Transferimos el archivo para horde
    #$ssh->cmd(”tar -cf $archivo.tar $archivo”);
    $scpe->scp(”$host:$archivo”, “$ruta/$archivo”);
    $ssh->cmd(”rm $archivo”);

    #mandamos llamar a un sh.
    #esto lo hago para mandarle estos parametros a un shell y en el sh le pongo al nombre y la fecha ya dentro de mi #servidor de respaldos
    system(`/opt/mueve-nombre.sh $archivo $ruta`);

  • Muy útil tu información.

    Gracias

  • diego dice:

    Aqui dejo un tuto para usar conexión ssh de windows a linux http://notasalgo.es/2008/09/conexion-remota-windows-a-linux-ubuntu-con-ssh/

  • mirian dice:

    necesito urgente un software free que me encripte la informacion que se envia por la red inalambrica desde un servidos Centos hacia pc clientes que tienen winxp, en el cual se va a manejar un sistema hecho en PHP con una base hecha en mysql

  • miranda dice:

    la verdad es el primer articulo al q le entiendo la explicacion es detalladisima y me va a ayudar un monton con mi deber si pueden ayudarm seria un exito ya q recien estoy empezando y necesito una buena nota…

  • primateMC dice:

    Se pasaron.
    Sin ser un experto, debo admitir que llevo algo de linux en el cuerpo, por lo que siempre leo manuales de todas las paginas que existen de linux, que no son pocas, pero son realmente minoría los tutoriales con esta calidad, hechos para personas que no saben nada o que saben mucho.
    Se agradece

  • Alci dice:

    Muy interesante el articulo, me ayudo mucho entender como funciona el SSH. Como puedo implementar para acceder a una base de datos SQL Server 2005 que esta detrás de un servidor linux que es mi servidor de Internet. El SQL Server 2005 esta en Windows 2003 y esta en la red local y tiene salida a Internet a través del servidor linux.
    Seria algo parecido al ejemplo “Entunelar protocolos con OpenSSH (Port Forwarding)” solo que la base de datos esta en otra maquina (Windows).
    Agradezco de ante manos cualquier ayuda que puedan darme.
    Saludos.

  • RICARDO DAMIAN LUCISICH dice:

    Todo Ok, pero mi pregunta es la siguiente. He instalado Ubuntu 10.04 intentado dejar window$, pero encuentro el inconveniente que tengo una aplicación que funciona como cliente servidor en window$ y no lo puedo hacer correr en Ubuntu. Bajé wine, andan todos los programas y aplicaciones pero cuando quiero inicializar el archivo ejecutable del servidor me sale el mensaje error no socket. Bajé todas las librerías con winetricks y nada. El mismo programa en versiones anteriores que no era en arquitectura servidor cliente corre bien en wine. El problema es la configuración para que inicialice el servidor. Soy nuevo en Linux y a la fecha creo que el tema está en convigurar el cliente servidor y hacer correr la aplicación. Pues bien, si alguien puede ayudarme aquí volveré por la respuesta. P.D. La aplicación es un sistema de gestión lex doctor http://www.lex-doctor.com pueden bajar una demo es el archivo instalar.exe que si lo ejecutan bajo wine se instala perfectamente en linux, creando dos iconos uno llamado “lex servidor” y otro llamado “lex cliente” pero el tema es hacer levantar el servidor , ahí es donde sale el mensaje de error. Espero ayuda. Saludos

  • Angel dice:

    Gracias se me habia olvidado la sentencia para conectarse (ssh usuario@server). Hacia tiempo que no usaba linux (ya lo extrañaba).

  • Halcon dice:

    Buenas, estoy transfiriendo un archivo txt mediante SSH, pero cuando lo consulto en el servidor destino SSH, el primer registro se visualiza distorcionado con 3 caracteres especiales. Cuando consulto la copia que dejo en el cliente SSH todos los registros se visualizan de forma correcta en el txt. Parece que se está distoricionando en el proceso de encriptación.. Alguien me puede ayudar.

Deja un comentario