SecureSHell
Puerto 22
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.
• 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)
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.
• 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.
• 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
• 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.
• 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.
• 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.
• 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
• La primera vez que el cliente se conecta con el servidor
  ssh, él le solicita que verifique la llave del servidor.
• 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
• 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.
• SSH ejecutará el comando en el shell del usuario remoto
  y se saldra, en cuanto termine
• 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
• Se pueden utilizar los filtros de
diferentes formas en SSH




En este ejemplo, grep es ejecutado en la máquina remota
• También se podría obtener el mismo resultado,
  ejecutando grep en la máquina local
• Es el mecanismo original de transferencia
De 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
• 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
Se 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.
• 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
• 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.
•   OpenSSH
•   FreSSH
•   LSH/Psst
•   PuTTy
•   TTSSH
•   NiftyTelnet
•   MacSSH
•   Top Gun SSH
•   Java-SSH
• 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.
• 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

Ssh

  • 1.
  • 2.
    Es un protocoloque facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente.
  • 3.
    • Está diseñadopara 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)
  • 4.
    El prótocolo SSHproporciona 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.
  • 5.
    • Todos losdatos 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.
  • 6.
    • Compresión: Eltrá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
  • 7.
    • Cifrado declave 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.
  • 8.
    • el protocoloSSH 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.
  • 9.
    • Red HatEnterprise 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.
  • 10.
    • La sintaxisbá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
  • 11.
    • La primeravez que el cliente se conecta con el servidor ssh, él le solicita que verifique la llave del servidor.
  • 12.
    • Así sepreviene 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
  • 13.
    • SSH soportala 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.
  • 14.
    • SSH ejecutaráel comando en el shell del usuario remoto y se saldra, en cuanto termine
  • 15.
    • Programas quenecesitan 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
  • 16.
    • Se puedenutilizar los filtros de diferentes formas en SSH En este ejemplo, grep es ejecutado en la máquina remota
  • 17.
    • También sepodría obtener el mismo resultado, ejecutando grep en la máquina local
  • 18.
    • Es elmecanismo original de transferencia De 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
  • 19.
    • Compara dosconjuntos 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
  • 20.
    Se 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.
  • 21.
    • Una vezque 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
  • 22.
    • Para habilitarla 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.
  • 23.
    OpenSSH • FreSSH • LSH/Psst • PuTTy • TTSSH • NiftyTelnet • MacSSH • Top Gun SSH • Java-SSH
  • 24.
    • X11 serefiere 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.
  • 25.
    • 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