Herramieta para acceso remoto seguro en entornos unix y windows, proporciona un canal cifrado para evitar ataques de robo de password en claro
1. Introducción
Actualmente las Redes de Computadoras son los medios digitales más
usados en todos los ámbitos de la sociedad para la transferencia de
información. Normalmente estos medios se encuentran en redes públicas,
por lo cual están expuestas a intervenciones de una u otra forma.
Cuando se realiza una conexión a un servidor remoto usando por ejemplo
el comando telnet o ftp, el login(usuario) y password(contraseña)
son transmitidos en la red de forma clara, lo cual representa un gran riesgo
si llega a existir sobre la red un programa que capture la información,
basándose en el modo promiscuo de las redes ethernet (comúnmente
llamado sniffer), ocasionado obtener tanto el login como el password
y pudiendo posteriormente irrumpir en el servidor con esta información.
Este tipo de comunicación en claro se muestra en la siguiente ilustración:
Este tipo de problemáticas ha llevado al diseñode herramientas
que permitan evitar estas situaciones siendo el caso de Secure Shell (ssh),
desarrollado por Tatu Ylonen en la Universidad Tecnológica de
Helsinki en Finlandia y OpenSSH, que nace del proyecto de un sistema
operativo orientado con la filosofía de la seguridad en mente como lo
es OpenBSD.
Secure Shell y OpenSSH permiten realizar la comunicación
y transferencia de información de forma cifrada proporcionando fuerte
autenticación sobre el medio inseguro. Este tipo de conexión se
muestra en la ilustración siguiente:
2. ¿Qué es Secure Shell?
Secure Shell (ssh) es un programa que permite realizar conexiones entre
máquinas a través de una red abierta de forma segura, así
como ejecutar programas en una máquina remota y copiar archivos de
una máquina a otra. Tal y como se explica en el RFC de Secure Shell:
"SSH(Secure Shell) es un programa para conectarse a
otros equipos a través de una red, para ejecutar
comandos en una máquina remota y para mover archivos
de una máquina a otra. Proporciona una exhaustiva
autenticación y comunicaciones seguras en redes no
seguras"
Ssh provee fuerte autenticación y comunicación segura sobre
un canal inseguro y nace como un reemplazo a los comandos telnet, ftp,
rlogin, rsh, y rcp, los cuales proporcionan gran flexibilidad en la administración
de una red, pero sin embargo, presenta grandes riesgos en la seguridad de
un sistema. Adicionalmente, ssh provee seguridad para conexiones de
servicios X Windows y envío seguro de conexiones arbitrarias
TCP.
Secure Shell admite varios algoritmos de cifrado entre los cuales se incluyen:
Blowfish
3DES
IDEA
RSA
La ventaja más significativa de ssh es que no modifica mucho las rutinas.
En todos los aspectos, iniciar una sesión de ssh es tan sencillo como(
y similar a) iniciar una sesión de telnet. Tanto el intercambio de
llaves, la autenticación, así como el posterior cifrado de sesiones
son transparentes para los usuarios.
3. ¿ De que Previene Secure Shell?
Debido a la promiscuidad de la interfaz ethernet, se genera una problemática
sobre los siguientes servicios de red usados en la actualidad, tales como:
telnet
ftp
http
rsh
rlogin
rexec
Ello nos representa un problema importante, ya que, incluso en un entorno
de red cerrado, debe existir como mínimo un medio seguro para poder
desplazar archivos, hacer copia de archivos, establecer permisos, ejecutar
archivos, scrips, etc, a través de medios seguros.
Por ello para evitar que determinadas personas capturen el trafico diario
de la red, es conveniente instalar el Secure Shell(SSH).
Entre los ataques más comunes que nos previenen Secure Shell están:
Sniffering(Captura de trafico)
IP Spoofing
MACpoofing
DNS Spoofing
Telnet Hickjacking
ARP Spoofing
ARP Spoofing
IP Routing Spoofing
ICMP Spoofing
4. Protocolos de Secure Shell
Existen actualmente dos protocolos desarrollados sobre ssh:
SSH1: La ultima versión de ssh cliente/servidor para
Unix que soporta este protocolo es la 1.2.31, esta puede ser
utilizada libremente para propósitos no comerciales y es ampliamente
usada en ambientes académicos.
SSH2: Provee licencias más estrictas que SSH1 ya
que es de carácter comercial. La ultima versión de ssh cliente/servidor
para Unix con este protocolo es la 2.4.0 y puede ser utilizada
libremente respetando la licencia expresa.
Actualmente existe un proyecto llamado OpenSSH, el cual fue desarrollado
inicialmente dentro del proyecto OpenBSD.
OpenSSH es una versión libre de los protocolos SSH/SecSH
bajo licencia BSD y es totalmente compatible con los protocolos SSH1
y SSH2. La ultima versión de OpenSSH cliente/servidor para
Unix es la 2.3.0P1 (Liberada el 6 de Noviembre del 2000).
Debido a que OpenSSH rompe la barrera de los protocolos que ha causado confusión
entre diversos sectores, esta herramienta esta siendo muy usada en la comunidad,
tal es el caso de distribuciones como Linux RedHat 7.0 que ya la incluyen dentro
de su sistema operativo.
Sin embargo OpenSSH ha demostrado en los últimos meses cierta inestabilidad,
por lo que sí se instala dicha versión es altamente recomendable
estar actualizando periódicamente el OpenSSH y estar al pendiente de
vulnerabilidades presentadas.
5. ¿Dónde obtener el Secure Shell?
5.1.Secure Shell cliente/servidor para sistemas Unix
6. Instalación de Secure Shell cliente/servidor para
Unix
Desafortunadamente los protocolos de Secure Shell (SSH1 y SSH2) no
son compatibles uno con otro, por lo tanto, sí deseamos que exista
compatibilidad debemos de instalar primero Secure Shell protocolo SSH1
y posteriormente Secure Shell protocolo SSH2.
Otra opción para mantener la compatibilidad con los dos protocolos
sin problema alguno es instalar OpenSSH.
Secure Shell con protocolo SSH1 y SSH2 pueden instalarse
exactamente igual tal como se muestra a continuación.
Después de obtener el programa de Secure Shell (SSH1 o SSH2)
procedemos a desempacarlo:
$ gunzip ssh-x.x.x.tar.gz
$ tar -xvf ssh-x.x.x.tar
En este punto obtendremos un directorio ssh-x.x.x sobre la ruta donde
desempacamos.
A continuación se citan los pasos necesarios configurar y compilar
Secure Shell. Estos pasos pueden realizarse sin ser root.
a) Configuración del entorno de compilación.
A diferencia de otras herramientas ssh no requiere de editar el archivo
Makefile, la configuración la realizamos a través de los
parámetros que le pasemos al script llamado configure.
Dentro del directorio ssh-x.x.x se encuentra el script llamado configure,
el cual tiene los siguientes argumentos validos:
--prefix=PREFIX
Donde se instalarán los binarios por
default /usr/local.
--exec_prefix=PREFIX
Donde se instalarán los ejecutables por default es
el mismo que la variable --prefix.
--with-rsh=PATH
Permitirá comandos rsh utilizando la estructura de
ssh.
--without-idea
No incluir IDEA
--with-tis=PATH
Soporte a mecanismo de autenticación Tis authsrv.
--with-etcdir=PATH
Ruta sobre la que obtendrá información sobre
el sistema por default /etc.
--with-libwrap=[PATH]
Usa libwrap (tcp_wrappers) y inetd.
--with-socks4[=PATH]
Incluye soporte para SOCKS (Cruce de firewall).
--with-socks5[=PATH]
Incluye soporte para SOCKS5.
--enable-warnigs
Habilita la bandera -Wall al compilador gcc.
Sí nuestra intención es lograr que tcp-wrapper lleve
un control sobre los accesos realizados con ssh, se necesitará
la bandera --with-libwrap, además, sí se pretende realizar
una autenticación de la máquina para ejecutar comandos rsh,
se requiere entonces la bandera --with-rsh.
Entonces ejecutamos el script tomando en cuenta que tenemos instalado TCP-Wrappers
y con soporte para el uso de comandos rsh:
Esto genera los cambios necesarios en los archivos de código fuente
para su correcta compilación.
Para obtener la ruta del comando rsh utilizar el comando whereis.
b) Compilar los binarios de Secure Shell (se requiere el compilados
GCC). Para esto basta con ejecutar:
$ make
Nota importante: Para poder ejecutar la instalación es necesario
estar dentro de la cuenta de root.
c) Instalación de Secure Shell en el sistema y obtener
las llaves del host.
$ make install
Los archivos de configuración de Secure Shell (ssh_host_key
y sshd_config) quedan localizados en el directorio /etc,
los programas clientes (ssh y scp) quedan en /usr/local/bin.
Finalmente el programa servidor o demonio de Secure Shell (sshd) queda
localizado en /usr/local/sbin.
d) Ya que se realizó la instalación en el equipo procedemos
a configurar el sistema para poder ejecutar el demonio del servidor de ssh
y permitir accesos por el puerto por default de Secure Shell (port 22).
Editar el archivo /etc/inetd.conf e incluir la siguiente línea:
(Sí no tiene habilitado TCP-Wrapper)
ssh
tcp
root
nowait
/usr/local/sbin/sshd
/usr/local/sbin/sshd -i
(Sí se esta usando TCP-Wrapper)
ssh
tcp
root
nowait
/usr/local/etc/tcpd
/usr/local/sbin/sshd -i
Editar el archivo /etc/services y habilitar el puerto para Secure
Shell usando la siguiente línea:
. . .
ssh
22/tcp
Secure Shell
ssh
22/udp
Secure Shell
. . .
Por ultimo reiniciar el demonio de inetd.
Obtener el número de proceso del demonio inetd.
$ ps -fea | grep inetd
Enviar la señal HUP al proceso del inetd.
$ kill -HUP procesid
En este punto el sistema debe responder a las peticiones de conexión
por Secure Shell.
7. Instalación de OpenSSH
El proyecto OpenSSH incluye al programa ssh. De igual forma incluye el archivo
sshd que es el demonio que controla del lado del servidor las peticiones realizadas
, también incluye otras funciones básicas del secure shell,
tales como ssh-add, ssh-agent y ssh-keygen.
Openssh hoy en día soporta ambos protocolos de comunicación
segura como lo son los protocolos 1.3, 1.5 y 2.0.
Debido a que OpenSSH es desarrollado fuera de los Estados Unidos, usando código
de diversos países es libre de uso sin restricciones bajo la licencia
del tipo BSD. Hoy en día OpenSSH corre en diversas plataformas entre
las cuales destacan:
OpenBSD
Linux
Solaris
AIX
IRIX
HP/UX
FreeBSD
NetBSD
Para poder configurar de manera apropiada el OpenSSH se deben cumplir con tres
prerrequisitos básicos para una óptima configuración.
1. Instalación de Zlib
2. Instalación de OpenSSL
3. Instalación de OpenSSH
7.1. Zlib
Zlib es un conjunto de librerías necesarias para el funcionamiento de
SSH y OpenSSH no es la excepción al ejecutarlo.
Una vez obtenido el software Zlib es necesario proceder a la instalación.
7.1.1. Instalación de Zlib
Zlib se configura y se instala casi en todas las plataformas sin problema alguno,
y para poderlo implementar se deben aplicar los siguientes pasos:
Después de obtener el programa de Zlib procedemos a desempacarlo:
$ gunzip zlib.tar.gz
$ tar -xvf zlib.tar
En este punto obtendremos un directorio zlib-x.x.x sobre la ruta donde
desempacamos.
a) Configuración del entorno de compilación.
Dentro del directorio zlib-x.x.x se encuentra el script llamado configure,
el cual lo indicaremos para que automáticamente nos detecte la configuración
y plataforma de nuestro sistema.
% ./configure
b)Compilación de Zlib
Paso siguiente es realizar la compilación de las librerías de
Zlib simplemente tecleando make.
% make
c) Instalación de zlib
Si no se presentaron problema alguno el paso siguiente es como superusuario
teclear la sentencia apropiada para la instalación de las librerías.
# make install
Si todo funciono perfecto procedemos a la instalación del software OpenSSL,
descrito a continuación.
La última versión disponible del OpenSSL es la Versión
0.9.6.
OpenSSL se configura y se instala casi en todas las plataformas sin problema
alguno, y para poderlo implementar se deben aplicar los siguientes pasos:
Después de obtener el programa de OpenSSL procedemos a desempacarlo:
$ gunzip openssl-0.9.6.tar.gz
$ tar -xvf openssl.0.9.6.tar
En este punto obtendremos un directorio openssl-0.9.6 sobre la ruta donde desempacamos.
a) Configuración del entorno de compilación.
Dentro del directorio openssl-0.9.6 se encuentra el script llamado config,
el cua automáticamente nos detectará la configuración y
plataforma de nuestro sistema, si se diera el caso de no saber con que plataforma
compilarlo.
% ./config
b) Configuración de acuerdo a la plataforma
Una vez detectada la plataforma del sistema, procedemos a la configuración
global de nuestra herramienta, bastará con solo teclear lo siguiente:
% ./Configure PLATAFORMA
Donde Plataforma es la plataforma que config, previamente nos habia detectado.
Por ejemplo si Config me detecto lo siguiente:
% > ./config
Configuring for solaris-sparc-gcc
Significa que la plataforma a configurar es solaris-sparc-gcc, por lo que teclearíamos
lo siguiente:
% ./Configure solaris-sparc-gcc
c) Compilación de OpenSSL
Paso siguiente es realizar la compilación de las librerías de
OpenSSL simplemente tecleando make
% make
d) Instalación de OpenSSL
Si no se presentaron problema alguno el paso siguiente es como superusuario
teclear la sentencia apropiada para la instalación de las librerías.
# make install
Si todo funciono perfecto procedemos a la instalación del software OpenSSH,
descrito a continuación.
7.3 OpenSSH
Una vez realizados los pasos 7.1 y 7.2 y si la compilación no presento
problema alguno procederemos a la instalación del software OpenSSH.
La Ultima versión disponible del OpenSSH es la Versión 2.3.0.P1(Liberada
en Noviembre del 2000).
Una vez obtenido el software OpenSSH es necesario proceder a la instalación.
7.3.1 Instalación de OpenSSH
OpenSSH se configura y se instala casi en todas las plataformas sin problema
alguno, y para poderlo implementar se deben aplicar los siguientes pasos:
Después de obtener el programa de OpenSSH procedemos a desempacarlo:
$ gunzip openssh-x.x.x.tar.gz
$ tar -xvf openssh-x.x.x.tar
En este punto obtendremos un directorio openssh-x.x.x sobre la ruta donde
desempacamos.
a) Configuración del entorno de compilación.
Dentro del directorio openssh-x.x.x se encuentra el script llamado configure,
el cual lo indicaremos para que automáticamente nos detecte la configuración
y plataforma de nuestro sistema.
% ./configure
b) Compilación de OpenSSH
Paso siguiente es realizar la compilación de las librerías de
OpenSSH simplemente tecleando make.
% make
c) Instalación de OpenSSH
Si no se presentaron problema alguno el paso siguiente es como superusuario
teclear la sentencia apropiada para la instalación de las librerías.
# make install
Si todo funciono perfecto ya tendremos en nuestro sistema instalado el OpenSSH
funcionando y trabajando de forma apropiada.
Para comprobar la existencia de este bastará con sólo teclear
la sentencia:
6 % > ssh -V
SSH Version OpenSSH_2.3.0p1, protocol versions 1.5/2.0.
Compiled with SSL (0x0090600f).
Lo cual nos indica que el OpenSSH esta listo en el sistema aceptando los protocolos
1.5 y 2.0
8. Clientes de Secure Shell
La necesidad de realizar transferencias de información de forma seguras
entre servidores Unix y clientes Windows y Mac ha propiciado el desarrollado
programas clientes de Secure Shell para diversas plataformas entre las cuales
se encuentra Windows 95/98/ME/NT/2000, MAC, etc.
8.1. Instalación de Secure Shell cliente para Windows 32 bits.
8.1.1. Secure Shell y Secure Copy v1.0.14 (Modo de Comandos, protocolo
SSH1)
Después de haber obtenido el programa de Secure Shell (ssh32-014.zip)
del sitio del Departamento de Seguridad en Cómputo debemos de realizar
los pasos siguientes.
a) Descomrpimir el programa usando WinZip o unzip en cualquier directorio temporal.
b) Copiar las librerías (*.dll) al directorio correspondiente en Windows.
En Windows 95/98/ME copiarlos al directorio C:\WINDOWS\SYSTEM.
Sí se esta usando Windows NT/2000 se deben de copiar al directorio
C:\WINNT\SYSTEM32.
c) Copiar los programas (*.exe) al directorio donde se encuentra instalado
Windows (C:\WINDOWS o C:\WINNT).
d) Utilizando la interfaz de Comandos (MS-DOS o Command Prompt) debe
de crear un directorio llamado .ssh.
C:\mkdir path-del-usuario\.ssh
e) Configuración de la variable de entorno.
8.1.2 Windows 95/98/ME
Editar el archivo autoexec.bat y agregar la siguiente variable.
set HOME=C:\path-del-usuario
IMPORTANTE: "Reiniciar el sistema"
8.1.3. Windows NT
Dentro del Panel de Control, seleccionar Sistema y pasar a la carpeta Entorno
para agregar la siguiente variable.
Variable: HOME Valor: C:\path-del-usuarios
Seleccionar Establecer y Aceptar.
8.1.4. Windows 2000
Dentro de las propiedades del icono My Computer que se encuentra localizado
en el Escritorio, pasamos a la carpeta Advance y damos un click
en Environment Variables. Dentro de Environment Variables agregamos
una nueva variable en el panel User variables for ???.
Variable: HOME
Valor: C:\path-del-usuarios
Seleccionar OK.
f)Finalmente utilizando la interfaz de Comandos (MS-DOS o Command Prompt)
debemos de ejecutar el siguiente comando para generar la llave de intercambio.
Enter file in which to save the key ($HOME/.ssh/identity): <ENTER>
Enter passphrase (empty for no passphrase): <Esta es mi frase>
Enter same passphrase again: <Esta es mi frase>
A partir de este momento ya podemos usar el cliente de Secure Shell y Secure
Copy protocolo SSH1 en modo de comandos desde la Interfaz de Comandos
(MS-DOS o Command Prompt).
8.1.5. Secure Shell Tera Term Pro v2.3 (Ambiente Gráfico, protocolo
SSH1)
Después de haber obtenido el programa de Secure Shell (sshTeraterm.zip)
del sitio del Departamento de Seguridad en Cómputo debemos de realizar
los pasos siguientes.
a) Descomprimir el programa usando WinZip o unzip en cualquier directorio
temporal.
b)Ejecutamos el programa Ttermp23.exe, el cual descomprime en un directorio
temporal los archivos para instalar Tera Term Pro. De los archivos
descomprimido debemos de ejecutar el programa llamado setup.exe, seleccionamos
el idioma y la ubicación donde será instalado el programa (Normalmente
C:\ARCHIVOS DE PROGRAMA\ TTERMPRO).
c) Ahora seleccionamos el archivo Ttssh151.zip y lo descomprimimos
utilizando WinZip o unzip dentro del directorio donde se instaló Tera
Term Pro (C:\ARCHIVOS DE PROGRAMA\TTERMPRO). WinZip preguntará sí
se desean remplazar archivos existentes, por lo que debemos de decirle que si
a todos los archivos.
d) Finalmente debemos de crear un acceso director desde el Escritorio
al programa Secure Shell Tera Term Pro (C:\ARCHIVOS DE
PROGRAMA\TTERMPRO\ttssh.exe).
De esta manera ya puede utilizar el programa cliente de Secure Shell con una
interfaz gráfica agradable.
8.1.6. Secure Shell y Secure File Transfer v2.4 (Ambiente Gráfico,
protocolo SSH2)
Después de haber obtenido el programa de Secure Shell (SSHWin-2.4.0.exe)
del sitio de Secure Shell o de sitio del Departamento de Seguridad en Cómputo
debemos de realizar los pasos siguientes.
a) Ejecutar el programa de instalación de Secure Shell cliente
protocolo SSH2 (SSHWin-2.4.0.exe). Después de aceptar la licencia de
uso, debemos de indicarle el directorio donde será instalado, el fólder
donde se almacenarán las herramientas y finalmente los componentes que
desean instalarse.
Este cliente de Secure Shell nos permitirá conectarnos a sistemas remotos
con Secure Shell protocolo SSH2 y también nos permitirá realizar
transferencias de archivos de forma gráfica.
9. Usando SSH
9.1. Sesión entre máquinas en UNIX
Ssh permite mantener sesiones interactivas con una máquina remota de
la forma como lo hace el comando telnet.
A continuación se describen brevemente las principales opciones del
comando ssh.
-a
Deshabilita el agente de autenticación
-c idea|des|3des|...
Selecciona el algoritmo de cifrado utilizado para cifrar
la sesión.
-e
Habilita el carácter de escape para una determinada
sesión (default:~).
-i identity-file
Selecciona el archivo donde leerán la llave de autenticación.
Por default
utiliza .ssh/identity dentro del home del usuario.
-l login-name
Especifica la cuenta remota por medio de la cual se desea
tener acceso.
-p port
Puerto remoto de conexión.
-q
Causa que todas las advertencias y mensajes de diagnostico
sean suprimidos, solo los mensajes de errores fatales son desplegados.
-v
Causa que ssh despliegue mensajes de depuración acerca
del proceso de
conexión.
-x
Deshabilita el reenvio (forwarding) de X11.
-C
Compresión de todos los datos transmitidos durante
la conexión
9.2. Ejemplos:
$ ssh -l micuenta maquina.remota
En este ejemplo utilizamos la opción -l para proporcionar el login
con el que tendremos acceso a la máquina remota. En este caso la cuenta
es micuenta y la máquina es maquina.remota.
$ ssh micuenta@maquina.remota
También podemos hacer uso del formato descrito arriba para entrar a
una cuenta dentro de una máquina remota.
$ ssh maquina.remota
En caso de poseer el mismo nombre de cuenta en ambas máquinas (local
y remota) es posible tener acceso a la máquina remota proporcionando
solamente el nombre de la máquina.
9.3. Transferencia de archivos
Secure Shell proporciona una herramienta que permite realizar transferencia
de archivos entre distintos hosts, haciendo uso de las características
de ssh, este comando es scp, el cual cuenta con las siguientes
opciones:
scp [-aAqrvBCL1] [-S path-to-ssh] [-o ssh-options] [-P port] [-c cipher] [-i
identity]
[[user@]host1:]filename1,... [[user@]host2:]filename2
-a
Habilita la estadística de transferencia
de cada archivo que se transfiere.
-A
Deshabilita el mensaje de estadística de transferencia
-c cipher
Selecciona el algoritmo de cifrado a utilizar en
la transferencia de datos.
-i identity
Selecciona el archivo donde se tendrá
acceso a la llave RSA.
-L
Uso de puerto no privilegiado. Esta opción posee
algunas restricciones como son la imposibilidad de usar rhosts o autenticación
rsarhosts
-1
Forzar a scp a usar el comando scp1 por parte
de host remoto, Esto puede ser necesario en el caso que el host remoto
utilice scp2.
-o ssh-options
Opciones que se pasarán al ssh.
-p
Preserva las distintas fechas y horas de acceso,
modificación y atributos del archivo original
-q
Deshabilita el despliegue de estadísticas de transferencia
-r
Copia recursiva de directorios completos
-v
Causa que scp y ssh desplieguen mensajes de
estado relacionados con el proceso de conexión, etc. Adecuado para
depurar errores existentes en las conexiones realizadas.
Ejemplos:
$ scp micuenta@máquina.remota:/tmpu/archivo /copias
En este caso se copiará /tmpu/archivo localizado en la máquina
remota maquina.remota al directorio /copias en la máquina local. Se
utilizó la cuenta micuenta para acceder al servidor.
$ scp /copias/archivo micuenta@máquina.remota:~/bck
En este caso se realizará la copia del archivo /copias/archivo localizado
en la máquina local a la máquina remota máquina.remota
colocando el archivo en el directorio bck del home de micuenta.
9.4. Uso de .shosts en Secure Shell 1
Los archivos .shosts al igual que los archivos .rhosts permite
realizar conexiones entre hosts sobre mecanismo de confianza, en el caso de
.shosts este mecanismo de confianza se habilita sobre las características
que proporciona Secure Shell, por esto, en aquellas máquinas en
las cuales el uso de .rhosts es indispensable sugerimos la sustitución
de todos los .rhosts por .shosts.
Para esto se requiere de realizar la siguiente serie de pasos:
1.- En la máquina cliente realizar una conexión hacia la
máquina servidor que se va a hacer uso de .shosts.
$ ssh -l cuenta maquina.cliente.de.shosts
Esto es para que la máquina a la que se entrará utilizando mecanismo
.shosts obtenga la llave pública de la máquina cliente.
2.- En la máquina servidor debemos de crear sobre el home
del usuario el archivo .shosts conteniendo el nombre de la máquina
o la IP cliente.
$ more .shots
maquina.cliente.de.shosts
3.- Desde la máquina cliente realizamos el enlace.
$ ssh -l cuenta maquina.con.shosts
NOTA: Este tipo de conexión no solicitará el password.
Este tipo de conexión presenta un riesgo, sin embargo, introduce mecanismos
propios de ssh, un método con mayores niveles de seguridad se puede
obtener utilizando llave RSA.
9.4.1. Tips
Sí no se lleva a cabo la conexión debemos de verificar los permisos
del archivo.
$ chmod 644 .shosts
9.5. Accesos de Mecanismos de Confianza
Para realizar una conexión segura mediante mecanismos de confianza
en SSH2 realice lo siguiente:
1.- Generar par de llaves dsa mediante el comando ssh-keygen.
Cliente> ssh-keygen -d
ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_dsa.
Your public key has been saved in /home/usuario/.ssh/id_dsa.pub.
The key fingerprint is:
1a:84:34:9f:d1:97:76:03:c0:c7:be:12:b0:95:1e:37 usuario@Cliente
Se generan dos archivitos en el directorio ~/.ssh/.
id_dsa.pub(publica)
id_dsa (privada)
2.- Exportar id_dsa.pub al servidor al que se realizará la conexion, e
incluirlo su contenido en el archivo ~/.ssh/authorized_keys2.
Para mayores informes con respecto a este tutorial o uso del Secure Shell,
te recomendamos visitar los tutoriales en línea, preguntas mas frecuentes
del SSH, disponibles en las páginas del Departamento de Seguridad en
Cómputo de la UNAM.
Departamento de Seguridad en Cómputo
DGSCA, UNAM
Circuito Exterior, S/N Frente a la Fac. de Contaduría
Tel: 5622-8169
Fax: 5622-8043 http://www.seguridad.unam.mx ftp://ftp.seguridad.unam.mx
E-Mail:seguridad@seguridad.unam.mx
Si eres víctima de una Intrusión en tus sistemas, REPORTALA!!!,
El UNAM-CERT es un grupo de profesionales que te ayudara y auxiliara de forma
profesional para evitar futuras intrusiones en tu sistema.