Introducción A Secure Shell
Enviado por mrwil_28 • 21 de Septiembre de 2013 • 4.966 Palabras (20 Páginas) • 233 Visitas
Introducción a Secure Shell
Javier Smaldone
http://www.smaldone.com.ar
Versión 0.2 - 20 de enero de 2004
Resumen
Este texto tiene como objetivo servir de guía introductoria al uso de Secure Shell. No se trata de una
descripción exhaustiva acerca de sus posibilidades, aunque trataré de explorar algunas de sus características
y funciones más útiles. También realizaré una breve descripción de los métodos de cifrado1, en
particular de los sistemas de cifrado asimétrico y de RSA.
No soy experto en cifrado ni en seguridad informática. Sólo he intentado escribir un pequeño texto
de ayuda a quienes, como yo, comienzan a utilizar esta herramienta.
Índice
1. Introducción 2
1.1. ¿Qué es la “seguridad”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. ¿Qué es el Secure Shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Algoritmos de cifrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1. Cifrado simétrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2. Cifrado asimétrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Secure Shell. Principios y funcionamiento 5
2.1. Descripción general del funcionamiento de SSH . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Métodos de autenticación de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1. Autenticación con contraseña: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2. Autenticación con clave pública: . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Configuración de OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1. Archivo sshd_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2. Archivo ssh_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.3. Otros archivos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4. El servidor de SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.5. El cliente de SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3. Usando Secure Shell 10
3.1. Iniciando una sesión remota con contraseña . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Iniciando una sesión remota con clave pública . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1. Generando las claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2. Transfiriendo la clave pública al servidor . . . . . . . . . . . . . . . . . . . . . . 12
3.2.3. Iniciando la sesión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.4. Asegurando la clave privada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.5. ssh-agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.6. Usando ssh-agent en el shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.7. Usando ssh-agent en X-Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1La palabra inglesa “crypt” suele traducirse como “criptografía” o “encripción”, vocablos inexistentes en el idioma español. El
término correcto es “cifrado”.
1
3.3. Ejecución de comandos remotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4. Transfiriendo archivos con Secure Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5. Aplicaciones X11 a través de SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6. Túneles IP cifrados con SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. Acerca de este documento 14
4.1. Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
A. El algoritmo RSA (Rivest-Shamir-Adleman) 15
A.1. Descripción del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
A.2. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introducción
1.1. ¿Qué es la “seguridad”?
Hace un par de años asistí a un curso de seguridad del que, si algo aprendí, fue una frase muy clarificadora
respecto de la seguridad: “La seguridad no es un producto, es un proceso”. Muchas veces, decimos
que “el software X es seguro” o que “el protocolo Y es seguro”, siendo que lo correcto sería decir que “tal
sistema ofrece tal o cual mecanismo que permite asegurar la seguridad en tal o cual sentido”. Es asombroso
ver en la actualidad a supuestos “expertos” en seguridad que venden soluciones mágicas (“seguridad
en cajas”). Para que un sistema sea considerado seguro en determinado grado, deben definirse, respetarse
y revisarse continuamente políticas y procedimientos tendientes a lograr ese objetivo.
Si a lo largo de este texto usted encuentra que en algún momento digo que algo “es seguro”, le pido que
lo tome como una forma abreviada de decir lo que he expresado en el párrafo precedente.
1.2. ¿Qué es el Secure Shell?
Secure Shell, también llamado SSH, es un protocolo utilizado para login y ejecución de procesos remotos.
Resumiendo (quizás demasiado) SSH nos permite:
Iniciar sesiones (login) en servidores remotos.
Ejecutar comandos remotamente.
Copiar archivos entre distintos hosts.
Ejecutar aplicaciones X11 remotamente.
Realizar túneles IP cifrados.
Divertirnos2.
SSH no es solo un reemplazo de telnet, rlogin, rexec, ftp, XDMCP y otros. Además de brindar todas
estas posibilidades con, básicamente, un único programa, brinda comunicaciones seguras (cifradas) entre
el cliente y el servidor.
1.3. Algoritmos de cifrado
Trataré de explicar muy brevemente (dado mis pobres conocimientos al respecto) los principios básicos
del cifrado de información.
Las técnicas de cifrado consisten en manipular la información de manera de asegurar las siguientes
propiedades:
2¡Nunca debemos olvidarnos de esto!
2
Figura 1: Cifrado simétrico
1. Confidencialidad: No puede acceder a la información nadie que no sea su legítimo destinatario.
2. Integridad: La información no puede ser alterada (sin ser esto detectado) en el
...