PDF de programación - ssh y nfs

Imágen de pdf ssh y nfs

ssh y nfsgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 31 de Octubre del 2017)
993 visualizaciones desde el 31 de Octubre del 2017
1,7 MB
58 paginas
Creado hace 8a (28/07/2015)
Proyecto

El presente proyecto intenta mostrar una
progresión en el conocimiento y uso de los
protocolos SSH y NFS con un ejemplo práctico
final que combina ambos para la consecución de
un objetivo común.

Además, se ofrece una información básica

acerca del funcionamiento del correo electrónico
y la configuración de un servidor de correo local.





SSH
SECURE
SHELL





¿Qué es SSH?

● Es el acrónimo de Secure Shell (terminal seguro).
● Es una consola o terminal en un ordenador remoto en la misma red

con los privilegios que tenga la cuenta de usuario con la que se
acceda.

● SSH se refiere tanto al protocolo que se utiliza en estas conexiones
como al programa que hace uso del protocolo y efectúa la conexión.

● Comenzó siendo software libre, pero la licencia fue variando y

terminó en manos de una empresa (SSH Communications Security).
● A partir de 1999 se desarrolló una versión completamente libre que

es la que más se utiliza ahora: OpenSSH.





Capacidades de SSH

● Conexión cifrada mediante claves públicas y

privadas.

● Transferencia segura de archivos
● Uso de túneles para protocolos o programas no

permitidos por la red.

● Exportación del servidor gráfico.





Instalación

● La parte de cliente está instalado por defecto en todas

las distribuciones. Quiere decir:
– Es posible conectarse con un ordenador remoto sin hacer

nada más.

– El ordenador remoto debe tener corriendo y configurado un

servidor SSH.

● Si el cliente no está instalado:

– sudo apt-get install openssh-client

● Su archivo de configuración está en

/etc/ssh/ssh_config, aunque no es necesario editarlo.





● Instalación del servicio en el servidor:

– apt-get install openssh-server

● Archivo de configuración en:

/etc/ssh/sshd_conf

● No confundir con el archivo de configuración

del cliente (son nombres muy similares).





Conexión a un servidor

● ssh -p22 usuario@IP
● ssh -p22 usuario@máquina (definida en /etc/hosts)





● Aceptación de las claves que servidor y cliente

intercambian.





● Estableciendo la conexión:





● Conexión establecida:

Comparar





● Uso de comandos en el servidor:





Uso en modo gráfico

● A través de un navegador de archivos

– ssh://usuario@IP:puerto/ruta
– sftp://usuario@IP:puerto/ruta

El servidor SSH implica un
servidor SFTP, de modo que
se puede acceder al directorio
remoto con un navegador
FTP como Filezilla, gFtp,
Bareftp, Gshare, Vsftpd





● Introducción de usuario y contraseña

– Olvidar contraseña
– Recordar durante esta sesión
– Recordar siempre





Transferencia de archivos

● En la terminal:

– scp /ruta/archivo.origen usuario@maquina:/ruta/archivo.destino





● De modo gráfico:

– Navegar, pinchar y arrastrar





● Copiado del archivo entre ambas ubicaciones





Seguridad

● Cambio del puerto por defecto
● Desactivar acceso de root

Para ello:

● Editar el archivo /etc/ssh/sshd_config

en el lado del servidor





/etc/ssh/sshd_config

● Buscar la línea

Port 22

● Cambiar 22 por un puerto entre 49152 y 65535
● Buscar la línea

PermitRootLogin

● Cambiar el valor a no





Si la conexión al servidor es siempre desde los
mismos ordenadores o los mismos usuarios, otra
medida de seguridad es

● Permitir solo a determinados usuarios, IP o
combinaciones de ambos:

Añadir la línea

AllowUsers usuario1 usario2@IP usuario3





Exportar la sesión gráfica

● Permitir en el servidor (/etc/ssh/sshd_config):

X11Forwarding yes

● En el cliente:

ssh -p65535 -X usuario@IP





● Lanzar una aplicación gráfica no instalada
en el cliente pero sí en el servidor:





Ejemplo de aplicación gráfica no instalada en el cliente:





SSHFS

● SSH File System (sistema de archivos SSH).

– Montaje de un sistema de archivos remoto vía

SSH.

– No permanente.
– Puede montarse como usuario normal en carpetas

en las que el usuario tenga permisos (/home).

– Con todas las ventajas de un sistema de ficheros

local.





Ejemplo

● Se escoge una carpeta donde montar el

directorio remoto:
– /home/javier/varios/temporalidades/prueba

● Se monta el sistema:

– sshfs -p puerto usuario@IP:/directorio /montaje





El comando incluye puerto (con espacio entre -p y el número de
puerto), usuario, máquina remota (o IP), ruta del directorio
remoto que se quiere compartir y ruta del punto de montaje.





Contenido de
la carpeta
remota
/home/pi/descargas
montado en el
directorio
local
/home/javier/varios...





Ejemplo de uso

● Abrir un archivo pesado en una carpeta remota

puede ser complicado.

● Ahora el directorio funciona como local:





Tunelización





● Crear un túnel:

– Los servidores deben estar definidos en /etc/hosts

● IP nombre (192.168.0.150 paquito)

– Habilitar en el servidor

AllowTcpForwarding yes
en el archivo /etc/ssh/sshd_config

– En el cliente:

ssh -N -f -L puertolocal:servidor:puertoservidor
usuario@servidor
ssh -N -f -L 50001:debian0:50000 javier@debian0
– Si el puerto SSH (22) ha sido cambiado, añadir -p

22234 (el número de puerto que figure en
/etc/ssh/sshd_config).



– Establecer un túnel en puertos entre 0 y 1024 requiere

permisos de superusuario.



● Usar el túnel (ejemplo Apache):

– En el servidor, Apache debe dirigirse al puerto

50000 de localhost (es la boca del túnel) y volverse
invisible al tráfico TCP habitual.

– El cliente (un navegador en este caso) debe

dirigirse al puerto 50001 de localhost (es el punto
final del túnel) para recibir los datos del servidor.





En la máquina cliente:





Programas complementarios

● Las funcionalidades de SSH pueden ser mejor

aprovechadas con el uso de algunos
programas adicionales. Por ejemplo:
– sshpass
– alias
– screen





sshpass

● Permite insertar la contraseña de SSH en el mismo

comando que inicia el programa SSH.
– sudo apt-get install sshpass

● Ejemplo de uso:

sshpass -p santoyseña ssh -p50000 user@debian0
Se abrirá una conexión con la sesión del usuario
«user» en el ordenador llamado «debian0» a través
del puerto 50000 sin preguntar la contraseña.

● Riesgo: la contraseña aparece en claro durante la

escritura del comando. Si alguien mira, la verá.





alias

● Permite configurar comandos personalizados.
● Se definen en el archivo .bashrc o en

.bash_aliases si este último está definido en el
primero.
● Sintaxis:

alias comando='secuencia deseada'

● Tras reiniciar la sesión estará disponible





sshpass + alias

● nano .bashrc
● Añadir una línea:
alias paco='sshpass -p santoyseña ssh -p43221 paco@ordenata'
● Cerrar sesión de usuario y volver a abrirla.
● Introducir «paco» en un terminal para abrir una
sesión de SSH del usuario «paco» en el
ordenador «ordenata» a través del puerto 43221
y con la contraseña «santoyseña».





Comando personalizado

Sesión abierta sin contraseña





screen

● Permite un terminal virtual dentro del mismo

terminal del que el usuario se puede
desconectar y conectar a voluntad sin interferir
en el funcionamiento de los programas.

● Por ejemplo, permite abrir un túnel SSH sin
lanzarlo en segundo plano, de modo que no
hay más que recuperar la sesión de screen
para detener el proceso y cerrar el túnel.
– sudo apt-get install screen





Funcionamiento

● Para abrir un terminal virtual se usa el comando screen. Aparecen

unas instrucciones de uso. Pulsar Enter.

● Para desvincularse de la terminal virtual aunque haya un programa

corriendo sin cerrar este hay que pulsar la combinación de teclas
Control + a
y luego la tecla d.

● Para recuperar una terminal virtual abierta se usa el comando

screen -r (si hay varias opciones, aparecerán todas con su
número. En este caso, screen -r 1234).
● Completísimo (y clarísimo) manual en

https://tuxpepino.wordpress.com/2007/05/24/%C2%BFconocias-screen/





Comando para recuperar sesiones abiertas

Sesiones
abiertas y sus
nombres

Comando para recuperar la sesión en la que está
corriendo el programa rtorrent





NFS
FILE

NETWORK

SYSTEM





¿Qué es?

● Posibilita que distintos sistemas conectados a

una misma red accedan a ficheros remotos
como si se tratara de locales.

● Se usa menos espacio de disco.
● Se puede compartir un directorio /home u otro

directorio de trabajo y centralizar los datos.

● Los directorios montados remotamente no se

desmontan (no desaparecen) en el servidor.





En el lado del servidor

● Instalar el servicio:

– apt-get install nfs-kernel-server

● Editar el archivo /etc/exports y añadir las rutas que

se quieren compartir y los usuarios autorizados:

/ruta IP(opciones)

– Las opciones básicas son

● ro (read only) otorga permisos de lectura únicamente
● rw (read write) otorga permisos de lectura y escritura

/home/meca18/Documentos 192.168.0.149(rw)





/etc/exports





En el lado del cliente

● Instalar el programa cliente:

apt-get install nfs-common





Montar el sistema en el cliente.

● Conocer o crear el directorio en el que montar

el sistema de ficheros
/mnt

● Conocer la dirección del servidor y la ruta del

directorio que se comparte
192.168.0.150:/home/meca18/Documentos

mount -t nfs 192.168.0.150:/home/meca18/Documentos /mnt





Directorio
/home/javier/varios
/temporal del
ordenador
debian0 montado
y disponible
en /mnt en
debian1





Montar de forma permanente

● En el archivo /etc/fstab se establecen los puntos
de montaje y usos de las particiones disponibles

● Editarlo en el cliente y añadir la línea:
IP:/ruta /punto.de.montaje nfs auto 0 0
192.168.0.150:/home/meca18/Documentos /mnt nfs auto 0 0

● En cada inicio el directorio compartido aparecerá

montado en la ruta decidida (no se permiten
nombres de ruta con espacios).

● Se mantienen las limitaciones físicas de la red

en cuanto a velocidad y capacidad.





/etc/fstab





EJEMPLO

PRÁCTICO DE
USO DE SSH Y

NFS





Ejemplo práctico

● El equipo meca02 (en adelante M02) dispone

d
  • Links de descarga
http://lwp-l.com/pdf7342

Comentarios de: ssh y nfs (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad