Herramientas de Conexión Remota y Gestión de Sesiones

A la máquina virtual podemos acceder de dos formas:
- Desde la misma máquina virtual.
- A través de ssh (debe estar el servicio activo).
# Para comprobar que está activo el servicio, desde la máquina virtual ejecutamos$ ssh localhost$ systemctl status ssh # otra manera de comprobarlo
# Si el servicio no está activo lo activamos con (como root)/sbin/service ssh start
# Para que se inicie siempre que reiniciemossystemctl enable ssh
# ssh nombre_de_usuario@ip_maquina$ ssh user@192.168.64.14
# para salir de la conexión ssh (ctrl + d) o el comando$ exit
# Intenta acceder a la máquina virtual como root$ ssh root@192.168.64.14Ejercicios ✏️
Section titled “Ejercicios ✏️”Para realizar los ejercicios vamos a utilizar un contenedor con una debian, anteriormente ya lo hemos utilizado . Como ya tenemos la imagen debian:12 descargada, la creación del contenedor será muy rápida, esta vez, ejecutamos el comando de la siguiente forma:
docker run -it --name debian-ssh -p 22:22 -p 2222:2222 --hostname debianssh debian:12 bash- -p 22:22, -p 2222:2222 : mapeamos los puertos, para que la máquina sea accesible por ssh.
Dentro de la máquina:
- Instalamos el paquete
openssh-serverpara montar un servidor ssh. - Iniciamos el servicio ssh.
- Creamos un usuario llamado
hadoop. - Nos conectamos desde la terminal al contendor por ssh:
ssh hadoop@localhost
1. Modifica la configuración del servidor SSH para que se pueda acceder como root.
2. Modifica lo necesario para que el usuario hadoop que hemos creado pueda acceder al contenedor por ssh SIN CONTRASEÑA, al escribir ssh hadoop@localhost, automáticamente entrará al contenedor.
3. Modifica el puerto del servicio SSH para que escuche por el 2222.
4. Cambia de nuevo el puerto al 22.Posibles problemas El puerto SSH de tu ordenador ya está siendo utilizado (tienes un servidor ssh en local), se puede solucionar mapeando un nuevo puerto, por ejemplo le 33. En el momento de crear un contendor podemos indicarle que el puerto 33 local, corresponda al puerto 22 en el contenedor. Revisar la opción de mapeo de puertos en docker (-p).
Se utiliza para copiar archivos y directorios de forma segura entre sistemas remotos a través de SSH (Secure Shell). Es especialmente útil para transferir archivos de un sistema local a uno remoto o viceversa de manera segura y eficiente.
Principales opciones:
r: Copia directorios y sus contenidos de manera recursiva.P: Especifica el puerto SSH a utilizar.i: Permite especificar un archivo de clave privada en lugar de la clave por defecto.v: Ejecutascpen modo verbose para obtener información detallada sobre la transferencia.
# Copiar un archivo local a un servidor remotoscp archivo.txt usuario@servidor.com:/ruta/destino/
# Copiar un archivo remoto a la máquina localscp usuario@servidor.com:/ruta/archivo-remoto.txt /ruta/local/
# Copiar un directorio y su contenido de manera recursivascp -r directorio_local/ usuario@servidor.com:/ruta/destino/screen
Section titled “screen”Permite crear sesiones de terminal multiplexadas en sistemas Unix y Linux. Esto significa que puedes iniciar múltiples sesiones de terminal dentro de una sola ventana y alternar entre ellas. Además, las sesiones de screen pueden ejecutarse en segundo plano, lo que permite desacoplarlas de la sesión de terminal actual.
La principal ventaja de screen es que podemos:
- Conectarnos a un servidor ssh.
- Ejecutar un proceso largo.
- Salir del servidor ssh (el proceso continua ejecutándose).
- Volver a conectar al servidor ssh y recuperar la ejecución anterior.
[!question] Hold a session open on a remote server. Manage multiple windows with a single SSH connection. Start a new screen session:
screenStart a new named screen session:
screen -S session_nameStart a new daemon and log the output to
screenlog.x:screen -dmLS session_name commandShow open screen sessions:
screen -lsReattach to an open screen:
screen -r session_nameDetach from inside a screen:
Ctrl + A, DKill the current screen session:
Ctrl + A, KKill a detached screen:
screen -X -S session_name quit
Más info: https://www.youtube.com/watch?v=_ZJiEX4rmN4
$ sudo apt install screen$ screen –version# Iniciamos$ screen
# Alternativa: También podemos iniciar una sesión y darle un nombre# usando la variable -S. Por ejemplo$ screen -S session1Comandos para realizar la multiplexación de la terminal.
sshfs nos permite montar carpetas de máquinas remotas a través de ssh.
Instalación en máquina remota
apt update
apt install sshfsMontar en local
sudo mkdir /mnt/remoto
sudo sshfs -o allow_other,default_permissions sammy@your_other_server:~/ /mnt/droplet
sudo umount /mnt/dropletoprecedes miscellaneous mount options (this is the same as when running themountcommand normally for non-SSH disk mounts). In this case, you are usingallow_otherto allow other users to have access to this mount (so that it behaves like a normal disk mount, assshfsprevents this by default), anddefault_permissions(so that it otherwise uses regular filesystem permissions).sammy@your_other_server:~/provides the full path to the remote directory, including the remote username,sammy, the remote server,your_other_server, and the path, in this case~/for the remote user’s home directory. This uses the same syntax as SSH or SCP./mnt/dropletis the path to the local directory being used as a mount point.
Open VPN
Section titled “Open VPN”Script que nos facilita la instalación de una VPN