Servidor ssh oscar cortez

5

Click here to load reader

Transcript of Servidor ssh oscar cortez

Page 1: Servidor ssh oscar cortez

Oscar Martin Cortez Martinez SSH

SSH (Secure SHell ó intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

SSH funciona de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.

En resumen, permite ejecutar comandos del shell de un equipo remoto desde otro como si estuviésemos sentados en el equipo remoto.

Resumiendolo aun mas, SSH es un protocolo utilizado para control remoto de otros equipos de la red y para transferencia cifrada de ficheros.

Instalaremos en un equipo local (CASA) y en el PC externo o servidor (REMOTO) los dos paquetes siguientes:

• sshd (the secure shell daemon) (El demonio que escucha las peticiones)• openssh-client (El cliente que realiza las peticiones)

En este ejemplo trataremos la comunicación bidireccional; si solo quieres subir archivos al PC REMOTO, no te haría falta instalar sshd en el PC CASA. Instalamos pues en los 2 equipos con:

Instalaciónsudo apt-get install openssh-server openssh-client

Si la instalación de OpenSSH ha sido correcta se habrá iniciado el servicio sshd, para ver su estado podemos ejecutar el siguiente comando:

sudo /etc/init.d/ssh status

Si está iniciado mostrará: sshd us running

Si está detenido podemos iniciarlo ejecutando:

sudo /etc/init.d/ssh start

Devolverá un mensaje como este: Starting OpenBSD Secure Shell server sshd [OK]

Twitter => @oscar_mcm Blog => http://vios-up.blogspot.com 20/Nov/12

Page 2: Servidor ssh oscar cortez

Oscar Martin Cortez Martinez SSH

Configurando SSHPara dar acceso a los usuarios que deseemos mediante SSH, editaremos el fichero sshd_config,

ubicado en /etc/ssh/. Para ello editaremos el fichero con vi ó con nano, ejecutaremos el comando:

sudo nano /etc/ssh/sshd_configAñadiremos la siguiente línea para permitir el acceso mediante SSH al usuario "alonso":

AllowUsers oscarin

Si queremos permitir el acceso mediante SSH al superusuario root añadiremos la siguiente línea a este fichero:

PermitRootLogin yes

Aunque esto no es muy recomendable por cuestiones de seguridad.

Para indicar con qué interfaz de red se establecerá la conexión (en el caso de que tengamos varias interfaces de red con varias IPs en nuestro servidor de Linux Ubuntu) añadiremos la línea:

ListenAddress 192.168.1.254

También podremos cambiar el puerto por defecto para SSH (es recomendable por seguridad), que es el 22, añadiendo (o modificando si existe) la línea:

Port 2222

Donde "2222" será el número del nuevo puerto que utilizará SSH. (Luego abrá que acordarse de este cambio para todas las aplicaciones que usen el servicio)

Para que se apliquen los cambios reiniciaremos el servicio de SSH con el comando:

sudo /etc/init.d/ssh restart

Transferencia de ficheros mediante FTP con FileZilla Client y SSH

Utilizando FileZilla Client, un software gratuito y open source disponible en:

http://filezilla-project.org/download.php?type=client

Podremos acceder mediante FTP de forma segura utilizando SSH a nuestro equipo con GNU Linux y OpenSSH desde cualquier otro equipo Linux, Windows o Mac OS.

Descargaremos e instalaremos FileZilla Client y pulsaremos en "Archivo" - "Gestor de sitios...", pulsaremos en "Nuevo sitio" e introduciremos los siguientes datos:

Twitter => @oscar_mcm Blog => http://vios-up.blogspot.com 20/Nov/12

Page 3: Servidor ssh oscar cortez

Oscar Martin Cortez Martinez SSH

• Servidor: IP del equipo con GNU Linux Ubuntu y OpenSSH, en nuestro caso 192.168.1.112. • Puerto: puerto que hayamos configurado para SSH (por defecto 22), en nuestro caso 2222. • Tipo de servidor: seleccionaremos "SFTP - SSH File Transfer Protocol". • Modo de acceso: Normal. • Usuario: usuario con permisos suficientes del equipo GNU Linux, en nuestro caso "root". • Contraseña: contraseña del usuario anterior.

Pulsaremos "Conectar" en la ventana anterior para acceder mediante FTP a GNU Linux desde Windows. Si todo es correcto ya tendremos acceso a todas las carpetas del equipo con GNU Linux a las que tenga permisos el usuario con el que hayamos iniciado sesión. Podremos transferir ficheros o carpetas de equipo con GNU Linux al equipo con Windows y viceversa:

Twitter => @oscar_mcm Blog => http://vios-up.blogspot.com 20/Nov/12

Page 4: Servidor ssh oscar cortez

Oscar Martin Cortez Martinez SSH

Twitter => @oscar_mcm Blog => http://vios-up.blogspot.com 20/Nov/12

Page 5: Servidor ssh oscar cortez

Oscar Martin Cortez Martinez SSH

Si lo queremos hacer con nuestro gadget android usaremos

• Sin costo alguno

• Funciona a partir de Android 1.5

• Facil de configurar y una interfaz bastante intuitiva.

Generando las clavesEn una terminal de PC CASA, teclearemos:

sudo ssh-keygen -t rsa

Nos pedirá que le pongamos una clave (lo más sencillo, no poner ninguna, pero es más seguro poner una verdadera frase de paso). La llave pública se generará en /root/.ssh/id_rsa.pub. Esta llave, deberá de transmitirse o copiarse a PC REMOTO mediante el siguiente comando, por ejemplo: (Con los permisos apropiados tambien vale el método pendrive, si no puedes conectar con el equipo remoto);

sudo scp /root/.ssh/id_rsa PC REMOTO:/tmp

Ahora agregamos al PC REMOTO como equipo conocido para PC CASA mediante el siguiente comando en PC CASA:

cat /tmp/id_rsa.pub /root/.ssh/authorized_keys

Si no estamos usando el usuario root, cambiaremos en lo anterior "root" por nuestro "nombre de usuario".

Si todo esta correcto, ya no se preguntará mas por la contraseña o frase de paso, ya que PC REMOTO tiene "copia de la llave" que abre el servicio entre los dos equipos. Tan solo nos pediría la contraseña del usuario de PC REMOTO.

Twitter => @oscar_mcm Blog => http://vios-up.blogspot.com 20/Nov/12