Está en la página 1de 18

Curso avanzado de Linux

Rafael Varela Pet Unidad de Sistemas rea de Tecnolog as de la !nformaci"n # Comunicaciones Universidad de Santiago de Com$ostela

Curso avanzado de GNU/Linux

Curso avanzado Linux

%dministraci"n remota con SS&


Curso avanzado de GNU/Linux

SS& ' !ntroducci"n


SS&( Secure S&ell )os versiones del $rotocolo( SS&* # SS&+ SS&* es inseguro, s"lo se de-er a usar en circunstancias es$eciales .$enSS&(

!m$lementaci"n li-re de SS& )os ramas de desarrollo/ Una $ara .$en0S) # otra 1$orta-le2 $ara diversos S/./
Curso avanzado de GNU/Linux

.$enSS&

Comandos -3sicos( ss4, sc$, sft$ Sustitu#en a rlogin/telnet, rc$ # ft$ Servidor( ss4d .tras utilidades(

ss4'add, sft$'server, ss4'5e#gen, ss4'agent # ss4' 5e#scan

Curso avanzado de GNU/Linux

.$enSS&/ %utentificaci"n

5e#-oard'interactive( m6todo gen6rico $ara casos en 7ue se necesiten datos suministrados $or el usuario/ 86todos so$ortados(

$ass9ord P%8 :Pluggable Authentication Modules;

%utentificaci"n con clave $<-lica( cada usuario genera un $ar de claves $<-lica/$rivada/ Se autentican de$ositando su clave $<-lica en el servidor
Curso avanzado de GNU/Linux

SS& = Clave $<-lica

Primero es necesario generar nuestro $ar de claves con el comando ssh-keygen )e$ositamos la clave $<-lica en el servidor remoto, en ~/.ssh/authorized_keys )is$onemos de un scri$t $ara automatizarlo( ssh-copy-id )esactivar autentificaci"n con usuario/contrase>a en /etc/ssh/sshd_config
Curso avanzado de GNU/Linux

SS& = Clave $<-lica

Una clave $rivada sin $roteger $uede re$resentar un $ro-lema de seguridad Si cae en manos a?enas otro $uede autenticarse sin necesidad de usuario/contrase>a 83s seguro usar claves cifradas(

@s$ecificando una clave al llamar a ssh-keygen Usando $osteriormente ssh-keygen -p

Curso avanzado de GNU/Linux

.$enSS& ' %gente

ssh-agent( gestiona las claves $rivadas cuando usamos autentificaci"n de clave $<-lica ssh-add( incor$ora identidades al agente ss4 !nicio autom3tico en la sesion A'Bindo9(

%>adir use'ss4'agent a /etc/A**/Asession/o$tions

Curso avanzado de GNU/Linux

.$enSS& ' T<neles A'Bindo9


%$licaciones A a trav6s del t<nel SS& &a-ilitar en el servidor, en /etc/ssh/sshd_config &a-ilitarlo al iniciar la conexi"n(
ssh -X usuario@host

Curso avanzado de GNU/Linux

.$enSS& ' Uso no interactivo

Podemos lanzar comandos sin invocar una s4ell(


ssh usuario@host df -h

Restricciones en C//ss4/aut4orizedD5e#s(
from=host1,host2,command=/bin/df -k KEY user@host

Curso avanzado de GNU/Linux

.$enSS&/ T<neles locales

@?em$lo(
ssh -L2143:pop.usc.es:143 usuario@servidor

Redirige el $uerto local +*EF al *EF en $o$/usc/es a trav6s de servidor

Curso avanzado de GNU/Linux

.$enSS& 'T<neles remotos

@?em$lo(
ssh -R8080:www.usc.es:80 usuario@servidor

%-re el $uerto GHGH en servidor/ Las conexiones a ese $uerto se redirigen al $uerto GH de 999/usc/es a trav6s de la m37uina local

Curso avanzado de GNU/Linux

.$enSS& ' T<neles

%l esta-lecer el t<nel tam-i6n o-tenemos una s4ell en el servidor remoto La o$ci"n 'N $ermite no e?ecutar nada en el servidor SS&/ @?em$lo(
ssh -N -R8080:www.usc.es:80 usuario@servidor

La o$ci"n 'f 4ace 7ue el $roceso ss4 se e?ecute en segundo $lano/ @?em$lo(
ssh -f -N -R8080:www.usc.es:80 usuario@servidor

Curso avanzado de GNU/Linux

.$enSS& = Prox# S.CIS

Podemos o-tener m3s flexi-ilidad 4aciendo 7ue .$enSS& funcione como $rox# S.CIS @?em$lo(
ssh -D1080 usuario@servidor

Curso avanzado de GNU/Linux

VPN -asada en SS&

Permite unir dos redes de forma segura La o$ci"n PermitTunnel en sshd_config esta-lece(

Si el servidor SS& admite esta funcionalidad Ju6 ti$o de tr3fico :nivel + o F;

No es demasiado eficiente/ %decuado $ara monta?es tem$orales

Curso avanzado de GNU/Linux

VPN -asada en SS&

Utilidad(

No 4a# 7ue 1tunelizar2 $uertos inde$endientes Permite canalizar tr3fico no orientado a conexi"n( !C8P, U)P

@m$lea el $seudodis$ositivo de red tun Pre$arativos(


# aptitude install uml-utilities # echo 1 > /proc/sys/net/ipv4/ip_forward

Curso avanzado de GNU/Linux

VPN -asada en SS&

@?em$lo/ Conexi"n $unto a $unto (

@n el cliente(
# tunctl -t tun0 # ssh -f -w 0:1 servidor_ssh true # ifconfig tun0 192.168.19.1 \ pointopoint 192.168.19.2 \ netmask 255.255.255.0

@n el servidor(
# tunctl -t tun1 # ifconfig tun1 192.168.19.2 \ pointopoint 192.168.19.1 \ netmask 255.255.255.0
Curso avanzado de GNU/Linux

Resoluci"n $ro-lemas

.$ci"n 'v muestra informaci"n so-re la conexi"n Re$itiendo la o$ci"n :4asta F veces; o-tenemos m3s datos

@?em$lo(
ssh -v -v usuario@host

Curso avanzado de GNU/Linux