Ssh

25
SSH SecureSHell Puerto 22

description

SSH Secure SHell, Definición, Conceptos básicos y ejemplos de uso de comandos

Transcript of Ssh

Page 1: Ssh

SSHSecureSHellPuerto 22

Page 2: Ssh

SSH

Es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente.

Page 3: Ssh

SSH• Está diseñado para reemplazar los métodos más

viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet, rlogin o rsh (Remote Shell)

Page 4: Ssh

Características de SSH

El prótocolo SSH proporciona los siguientes tipos de protección:

• Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo servidor al que se conectó anteriormente.

• El cliente transmite su información de autenticación al servidor usando una encriptación robusta de 128 bits.

Page 5: Ssh

Características de SSH -2• Todos los datos enviados y recibidos durante la

sesión se transfieren por medio de encriptación de 128 bits, lo cual los hacen extremamente difícil de descifrar y leer.

• El cliente tiene la posibilidad de reenviar aplicaciones X11  desde el servidor. Esta técnica, llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas sobre una red.

Page 6: Ssh

Características de SSH -3

• Compresión: El tráfico puede ser comprimido a nivel de stream.

• Llave pública de autenticación: de manera opcional reemplaza la autenticación por password.

• Autenticación del servidor• Reenvio de puerto (Port forwarding):

sesiones de TCP pueden ser enviadas sobre una conexión SSH

• Transferencia de archivos

Page 7: Ssh

Llave pública• Cifrado de clave pública: un mensaje cifrado con

la clave pública de un destinatario no puede ser descifrado por nadie (incluyendo al que lo cifró), excepto un poseedor de la clave privada correspondiente--presumiblemente, este será el propietario de esa clave y la persona asociada con la clave pública utilizada. Se utiliza para confidencialidad.

Page 8: Ssh

SSH• el protocolo SSH encripta todo lo que envía y

recibe, se puede usar para asegurar protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto, como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos.

Page 9: Ssh

RedHat y SSH• Red Hat Enterprise Linux contiene el paquete

general de OpenSSH (openssh) así como también los paquetes del servidor OpenSSH (openssh-server) y del cliente (openssh-clients).

• OpenSSH requieren el paquete OpenSSL (openssl). OpenSSL instala varias bibliotecas criptográficas importantes, permitiendo que OpenSSH pueda proporcionar comunicaciones encriptadas.

Page 10: Ssh

Uso básico de SSH - Login Remoto• La sintaxis básica para hacer log in a un host

remoto es: ssh hostname• Si quieres especificar un nombre de usuario

ssh –l user hostname• Ssh user@hostname

O también puedes especificar el puerto, en caso de no estar en el puerto default

ssh –p 2222 user@hostname

Page 11: Ssh

Descubrimiento inicial de la llave del servidor

• La primera vez que el cliente se conecta con el servidor ssh, él le solicita que verifique la llave del servidor.

Page 12: Ssh

Uso de SSH -2• Así se previene que un atacante se haga pasar

por el servidor, lo cual llevaría a que pueda capturar el password o el contenido de la sesión.

• Una vez que se ha verificado la llave del servidor, el cliente la guarda en «/.ssh/known_host» para que automáticamente pueda establecer la conexión.

• Sí la llave del servidor cambia, entonces el cliente activara una advertencia

Page 13: Ssh

Ejecutando comandosremotamente

• SSH soporta la ejecución de comandos remotemente.

• Cuando haces log in, una terminal es asignada a la sesión hasta que explícitamente hagas log out o es terminada del lado del servidor.

Page 14: Ssh

Ejecutando comandos remotamente -2• SSH ejecutará el comando en el shell del usuario

remoto y se saldra, en cuanto termine

Page 15: Ssh

Ejecutando comando remotamente -3• Programas que necesitan una terminal para

operar, como el editor de textos vi, no funcionarán. Al menos que obligue al SSH de crear una pseudo-terminal con la bandera –t

ssh –t user@hostname vi /tmp/foo

Page 16: Ssh

Pipes Filtros• Se pueden utilizar los filtros de diferentes formas en SSH

En este ejemplo, grep es ejecutado en la máquina remota

Page 17: Ssh

Pipes o filtros -2

• También se podría obtener el mismo resultado, ejecutando grep en la máquina local

Page 18: Ssh

Transferencia de archivosscp• Es el mecanismo original de transferenciaDe archivos en SSH. Su sintaxis es sencilla, para copiar el archivo remoto a un destino local.

Para copiar un archivo local a un destino remoto, se utiliza una sintaxis

Page 19: Ssh

Rsync• Compara dos conjuntos de archivos y los

sincroniza.• Rsync sólo envia las diferencias entre los dos

conjuntos de archivos, en lugar de todo el archivo.

• Sincronizar/copiar un conjunto de archivos remotos a un conjunto local

Page 20: Ssh

Generar la llave pública ssh-keygenSe utiliza : ssh-keygen para generar la llave pública.Podrán ser de tipo rsa, dsa y rsa1.

Por lo general se utiliza la de tipo rsa ya que son más rápidamente autentificables que las llaves dsa.

Page 21: Ssh

Autentificación de la llave pública• Una vez que se ha generado la llave pública, es

tiempo de instalarla en el servidor que deseas hacer log in.

• La porción pública esta almacenada en el archivo de extensión .pub en ASCII

Page 22: Ssh

Autentificación de la llave pública -2• Para habilitar la autentificación de la llave pública

en el servidor, es necesario adjuntar la porción pública de la llave al archivo de la siguiente manera;

• Una vez instalada la llave pública en el servidor, podrás usar realizar la autentificación con tu llave privada.

Page 23: Ssh

Implementaciones de SSH• OpenSSH• FreSSH• LSH/Psst• PuTTy• TTSSH• NiftyTelnet• MacSSH• Top Gun SSH• Java-SSH

Page 24: Ssh

Glosario• X11 se refiere al sistema de visión por ventanas

X11R6.7, tradicionalmente llamado Sistema de ventanas X o simplemente X. Red Hat Enterprise Linuxcontiene XFree86, un sistema de ventanas X de código abierto.

Page 25: Ssh

Referencias• http://

web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.htm

• http://openbsd.org/papers/auug2002-ssh.pdf • http://www.ietf.org/rfc/rfc4251.txt