educación, informática y demás

2408 - Administración remota

Administración remota (2). Copiando ficheros y conectando sistemas heterogéneos

En esta entrada vamos a continuar con el caso práctico de administración remota de sistemas, haciendo hincapie en la parte de administración remota entre sistemas GNU/Linux.

Copiando ficheros remotos

Existen distintos servicios para copiar ficheros entre sistemas remotos con los que ya tenemos cierta experiencia. Por ejemplo, el protocolo SMB/CIFS que utiliza Microsoft para sus recursos compartidos en red entre iguales: carpetas compartidas.

Podemos utilizar este protocolo en sistemas heterogéneos (GNU/Linux, MacOS, Android, iOs, Windows….) gracias a un servicio de código abierto llamado Samba. Samba, que estudiaremos más adelante, proporciona tanto la parte servidora como la cliente de este protocolo.

También podríamos utilizar el servicio FTP, aunque tendríamos que instalar y configurar un servidor FTP.

En nuestro caso, como ya tenemos instalado y configurado un servicio que nos permite administrar de forma remota y segura sistemas, el servicio SSH, vamos a aprovecharlo para copiar ficheros entre sistemas remotos.

El comando que vamos a utilizar es scp.

Vamos a comprobar si tenemos conexión con el host remoto. Primero necesitamos su dirección IP

Vamos a comprobar que podemos iniciar sesión remota en el servidor con ssh

¡No nos ha pedido contraseña! Esto es así porque en el caso práctico anterior de esta serie de casos practicos de administración remota, configuramos nuestro servidor para que utilizara como mecanismo de autentificación un par de claves RSA, en concreto la clave pùblica RSA que generamos con el comando ssh-key-gen.

Es más, si nuestra memoria no nos falla (y si te falla consulta la entrada) configuramos el servidor SSH para que escuchara en un puerto específico: 2200. Sin embargo, también configuramos el cliente para que cuando se conectara a este servidor utilizara por defecto el puerto 2200.

Vamos a echar un ojo rápido a la configuración primero en el servidor.

Vamos a echar un ojo a la configuración del cliente en el sistema cliente.

Ahora es cuando copiamos ficheros a un sistema remoto utilizando scp. Con scp podemos copiar ficheros desde un sistema remoto que tenga instalado un servidor SSH a nuestro sistema local y viceversa. Lo único que tenemos que tener claro es la nomenclatura de la dirección de los ficheros a copiar. Lo podemos ver en la ayuda de scp.

Vemos como se crea la ruta:

  • user: No es obligatorio. Si no se pone, utilizará el usuario actual.Si queremos conectarnos con otro usuario distinto del usuario actual, tendremos que indicar el nombre del usuario.
  • @ Separador entre usuario y host
  • host. Máquina remota a la que nos queremos conectar.
  • : Separador entre usuario@maquina y la ruta del fichero remoto.

Siempre que hagamos referencia a un fichero remoto o destino remoto deberíamos utilizar esta ruta. Vamos a probar.

Copiando desde la máquina local a la máquina remota

No podemos evitarlo, y nos dejamos llevar por las ansias de los scripts…

Creamos este script

Mejor siguiendo nuestro estilo propio de desarrollo en lenguajes de programación de alto nivel estructurados.

Ahora lo vamos a copiar al sistema remoto.

  • Origen: noComments.sh
  • Destino: ???
    • Queremos que el fichero se llame igual, noComments.sh
    • Lo vamos a copiar en la máquina 192.168.24.253
    • Para el usuario alumno, que resulta que es el usuario con el que estamos trabajando aquí.
    • Por tanto: 192.168.24.253:

Si no indicamos ninguna ruta, scp copiará el fichero con el mismo nombre en el directorio personal del usuario con el que nos vamos a conectar.

Fallos típicos:

  • Primer fallo, no hemos puesto dos puntos detrás de la dirección de la máquina. Por lo tanto nos ha copiado el fichero en un fichero con la dirección IP de la máquina.
  • Segundo fallo, no hemos guardado los cambios en el fichero noComments.sh

Se ve que se ha copiado.

Ahora vamos a copiar de remoto a local, en concreto nos vamos a copiar el fichero /etc/passwd del sistema remoto 192.168.24.253 a nuestro directorio personal con el nombre usuarios-srv01.txt. ¿Cómo sería?

  • Origen: Es el fichero /etc/passwd que está en 192.168.24.253
  • Destino: fichero usuarios-srv01.txt en nuestro directorio actual

Parece que ha funcionado.

Vamos a hacer algo un poco más complejo, copiar el fichero de claves del sistema remoto al fichero claves.txt en el directorio actual de la máquina local.

Vamos a probar con el usuario root

Vamos a probar directamente con root

Vamos a probar a iniciar sesión remota segura con root

O nos estamos confundiendo una y otra vez o ssh no nos deja iniciar sesión remota con root.

Vamos a ver el fichero de configuración del servidor ssh.

Vamos a echar un ojo a la configuración que aparece comentada, es decir, vamos a mostrar todo el fichero de configuración por si hay alguna información util.

Vamos a buscar información en la página de manual de sshd_config

Vamos a configurar (de forma temporal) el acceso de root con contraseña. Lo ideal sería configurar claves RSA, que dejaremos para más adelante.

Con esto ya podríamos utilizar scp como root.

Pero antes de esto, se nos puede pasar por la cabeza, utilizar scp ahora desde el equipo remoto al que estamos conectados por ssh.

Tened en cuenta un detalle, en el equipo cliente no tenemos instalado ningún servidor SSH.

Vaya… sigue sin funcionar :_(. El tema está en que, hasta ahora lo único que hemos hecho es modificar un fichero de texto plano, para que los cambios en la configuración surtan efecto, tenemos que reiniciar el servicio. De nuevo, nos conectamos con ssh.

Reminder: Ejecutar un comando con ssh.

Conexión SSH desde Windows 10

Hemos visto como podemos conectarnos con ssh desde un sistema GNU/Linux a otro sistema GNU/Linux. No obstante, también podemos utilizar ssh para conectarnos desde un sistema Windows 10 a un sistema GNU/Linux para administrarlo.

Para ello, vamos a instalar características para que nos prmita conexión con ssh

Otra opción es instalar el software putty que nos permitirá utilizar ssh y más características

Descargamos e instalamos putty

Configurando XRDP en XFCE

Probamos a conectarnos

Aparece la pantalla de inicio de sesión

Dejar una respuesta