Manual de Configuracion de Ssh

9
SERGIO ALEXIS CANO SEPULVEDA ADMINISTRACION DE REDES DE COMPUTADORES GRUPO 941575 MANUAL DE CONFIGURACION DE SSH Que es SSH? Aplicación y Protocolo propio para la transmisión segura de los datos. Este protocolo trabaja en la capa de transporte (Utiliza el Protocolo de Transporte TCP) y escucha por el Puerto 22. Proporciona Servicios analógicos a los Protocolos SSL/TLS. Aparte de establecer conexiones seguras, el Protocolo SSH también ofrece otras funciones como la redirección de Puertos TCP o la comunicación entre clientes y servidores por medio de la consola (Shell). Configuración Empezaremos con la instalación de Openssh. Ejecutamos # apt-get install ssh Después de la instalación podemos entrar al archivo de configuración del SSH el cual va ha estar por defecto en la siguiente ruta y lo modificaremos según las necesidades que tengamos para nuestro Servidor. . # nano /etc/ssh/sshd_config Algunos parámetros que podemos configurar en el archivo son: El puerto por el cual va a escuchar nuestro Servidor lo podemos cambiar si queremos que escuche por otro puerto. Port 22 La versión con la cual vamos a trabajar, en este caso con la Versión 2. Protocolo 2 El tiempo que tendrá el usuario para que se autentique frente al Servidor, este tiempo es en segundos. LoginGraceTime 120 Este parámetro es para permitir que las conexiones se puedan realizar como Root. PermitRootLogin no Esta línea es para indicar cuantas conexiones vamos a permitir simultáneamente en el Servidor. MaxStartups 2 Este parámetro será para el máximo de intentos de autenticación frente al Servidor.

Transcript of Manual de Configuracion de Ssh

Page 1: Manual de Configuracion de Ssh

SERGIO ALEXIS CANO SEPULVEDA

ADMINISTRACION DE REDES DE COMPUTADORES

GRUPO 941575

MANUAL DE CONFIGURACION DE SSH

Que es SSH? Aplicación y Protocolo propio para la transmisión segura de los datos. Este protocolo trabaja en la capa de transporte (Utiliza el Protocolo de Transporte TCP) y escucha por el Puerto 22. Proporciona Servicios analógicos a los Protocolos SSL/TLS. Aparte de establecer conexiones seguras, el Protocolo SSH también ofrece otras funciones como la redirección de Puertos TCP o la comunicación entre clientes y servidores por medio de la consola (Shell).

Configuración Empezaremos con la instalación de Openssh. Ejecutamos # apt-get install ssh

Después de la instalación podemos entrar al archivo de configuración del SSH el cual va ha estar por defecto en la siguiente ruta y lo modificaremos según las necesidades que tengamos para nuestro Servidor. . # nano /etc/ssh/sshd_config

Algunos parámetros que podemos configurar en el archivo son: El puerto por el cual va a escuchar nuestro Servidor lo podemos cambiar si queremos que escuche por otro puerto. Port 22

La versión con la cual vamos a trabajar, en este caso con la Versión 2. Protocolo 2

El tiempo que tendrá el usuario para que se autentique frente al Servidor, este tiempo es en segundos. LoginGraceTime 120

Este parámetro es para permitir que las conexiones se puedan realizar como Root. PermitRootLogin no

Esta línea es para indicar cuantas conexiones vamos a permitir simultáneamente en el Servidor. MaxStartups 2

Este parámetro será para el máximo de intentos de autenticación frente al Servidor.

Page 2: Manual de Configuracion de Ssh

MaxAuthTries 2

Este parámetro nos ayuda a especificarle al Servidor si queremos trabajar con Autenticación con Login. PassworAuthentication yes

Aquí le estamos indicando que solo escuche peticiones por la esta IP. ListenAddress 192.168.0.10

Esta línea es para indicarle al Servidor si vamos a permitir aplicaciones graficas por medio de la consola SSH. X11Forwarding yes

Esta línea permite denegar la conexión de dicho usuario a dicho o equipo de la red, en este caso el PC con la IP 192.168.0.15 y con el Usuario Root. DenyUsers [email protected]

Luego de hacer la modificación en el archivo de configuración del ssh reiniciamos el servidor para que tome todos los cambios. Ejecutamos # /etc/init.d/ssh restart

Conectarnos por SSH Luego desde otra maquina o mejor dicho desde un cliente haremos las pruebas de conexión SSH. De la siguiente manera nos conectamos al servidor, # ssh Usuario@DireccionIP luego nos dice que si queremos continuar con la connecting y decimos que yes y por ultimo nos pide que ingresemos el password del usuario con el cual estamos accediendo al servidor, el cual puede ser un usuario local o el mismo Root del servidor SSH.

Como podemos observar en la parte inferior la conexión ha sido exitosa. debian:/etc/ssh# ssh [email protected]

The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.

RSA key fingerprint is dc:0e:1a:81:ae:3c:36:d5:5d:aa:7c:f4:d9:3c:a5:0e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.0.10' (RSA) to the list of known hosts.

[email protected]'s password:

Linux debian 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Last login: Thu Mar 12 20:44:37 2009 from 192.168.0.5

Page 3: Manual de Configuracion de Ssh

Could not chdir to home directory /home/sergio: No such file or directory

sergio@debian:/$

Si hemos cambiado el Puerto del Servidor el comando para conectarnos de al Servidor será el siguiente: # ssh –p Puerto Usuario@DireccionIP

Ejemplo. # ssh –p 8880 [email protected]

Para salir de la conexión SSH, solo debemos copiar exit .

sergio@debian:/$ exit

logout

Connection to 192.168.0.10 closed.

debian:/etc/ssh#

Conexión SSH por modo grafico

Para la conexión por modo grafico solo tecleamos Alt + F2 el cual nos abrirá una pequeña ventana que se llama Ejecutar una Aplicación , en la cual ingresaremos ssh://Usuario@DireccionIP.

Por ser la primera vez que nos conectamos al servidor remotamente nos preguntara si queremos continuar, por que desconoce la computadora remota, le daremos clic en Iniciar sesión de todos formas .

Page 4: Manual de Configuracion de Ssh

Después se requiere autenticación el cual ingresemos la contraseña de ese Usuario al cual estos accediendo remotamente. Y por último damos clic en la opción Conectar

Y como podemos observar en la parte inferior ya podemos tener acceso a carpetas y archivos de la maquina remota.

Page 5: Manual de Configuracion de Ssh

De igual forma si le cambiamos el puerto a nuestro Servidor SSH lo que debemos de hacer es agregarle el puerto de la siguiente forma. ssh://Usuario@DireccionIP:Puerto

Ejemplo. ssh://[email protected]:8880

Copiar Archivos por SSH

Ahora si lo que queremos es copiar archivos de un equipo a otro, utilizaremos el siguiente comando. # scp RutadelArchivoaCopiar Usuario@DireccionIPdelDestino:RutadelDestino

Ejemplo.

En este ejemplo lo que estamos haciendo es copiando un archivo desde el cliente, el cual se llama Prueba que se encuentra en el escritorio de el, y lo copiaremos al servidor el cual tiene la IP 192.168.0.10 y un usuario con el nombre de sergio , este usuario es local del servidor y por ultimo indicamos en que directorio quedara el archivo.

Page 6: Manual de Configuracion de Ssh

Si cambiamos el puerto del SSH, lo que debemos de hacer es añadir al comando la opción –P y el puerto (La –P en Mayúscula), de la siguiente manera. # scp –P Puerto RutadelArchivoaCopiar Usuario@DireccionIPDestino:RutadelDestino

Ejecutar Aplicaciones Web por medio de SSH Para ejecutar y utilizar desde un cliente una aplicación web que se encuentra instalada en el Servidor SSH, remotamente ejecutamos el siguiente comando. # ssh –X Usuario@Direccionip AplicacionGrafica

Ejemplo. # ssh –X [email protected] gimp

Autenticación con SSH

Autenticación con Clave Pública Como ya sabemos la autenticación hasta este momento ha sido con un password, el cual pertenece al Usuario local del Servidor SSH, lo que haremos en este momento será autenticarnos por medio de Llaves Asimétricas, las cuales crearemos por medio de SSH. Para generar el par de llaves utilizaremos el siguiente comando, podeos generar dos tipos de llaves RSA o DSA. # ssh-keygen –t rsa

ó # ssh-keygen –t dsa

Después de ejecutar alguno de estos dos comandos, preguntara donde queremos guardar nuestro par de llaves, el nos dará un directorio por defecto, en el cual le daremos “Enter” para decirle que aceptamos este directorio, después nos pedirá un “password” para este par de llaves, se lo podemos dar y a la hora de conectarnos al Servidor SSH solo nosotros sabremos el Password de la llave, o solo damos “Enter” para dejarlo sin Password.

Page 7: Manual de Configuracion de Ssh

Ejemplo.

SI queremos ver el Fingerprint de nuestras llaves, ejecutaremos el siguiente comando. # ssh-keygen -l -f “Ruta_de_la_llave”

Ejemplo

Después de esto debemos de entregarle la llave Pública al Servidor SSH, lo haremos con la ayuda de los comandos anteriores y nos preguntara que si queremos seguir conectándonos, decimos que “yes”. # scp RutadelallavePublica Usuario@DireccionIP:RutadellavesdelServidor

Ejemplo:

Page 8: Manual de Configuracion de Ssh

Luego nos pedirá la contraseña que colocamos a nuestro par de llaves. Ejemplo

Y después la contraseña del Usuario “sergio”, del servidor SSH.

Luego debemos de entrar a editar el archivo de configuración “sshd_config” en el Servidor SSH. Ejecutamos # nano /etc/ssh/sshd_config

Buscaremos la línea AuthorizedKeysFile y la des comentaremos, al final de esta línea encontramos una ruta y un archivo de configuración (%h/.ssh/authorized_keys), el cual debemos de crearlo en esa ruta (Podemos cambiar la ruta o el nombre del archivo), recordemos con que Usuario estamos trabajando, en este archivo se encontraran las llaves publicas de los Clientes que se autenticaran contra el Servidor SSH, guardaremos los cambios y saldremos del editor. Después debemos de re direccionar la llave pública del Cliente al archivo que creamos el cual contendrá la llave, para ello ejecutaremos el siguiente comando. # cat RutadelaLlave > /home/sergio/.ssh/authorized_keys

Ejemplo. # cat /home/sergio/.ssh/id_rsa_alexis.pub > /home/sergio/.ssh/authorized_keys

NOTA: Si tenemos más de una llave para agregar al archivo para la autenticación, lo que debemos de hacer es utilizar el mismo comando pero con doble signo >> para la redirección, de lo contrario nos borrara la llave que tengamos y nos dejara solo la ultima llave agregada. Luego reiniciar el servidor SSH y nos debe de funcionar la Autenticación con Clave Publica. # /etc/init.d/ssh restart

Page 9: Manual de Configuracion de Ssh

Para la conexión por medio de Claves Públicas debemos de utilizar el siguiente comando. # ssh [email protected]

El Servidor no nos debe de pedir la clave del Usuario “alexis” sino la clave que le asignamos a nuestra llave y si no le dimos ninguna debemos de entrar en limpio, porque la autenticación se hará con nuestro par de llaves (La Privada que tenemos nosotros y la Pública que tiene el Servidor). En nuestro caso ingresamos desde el Cliente vía SSH y seguimos los pasos anteriores, como podemos ver en la imagen inferior.