> For the complete documentation index, see [llms.txt](https://crisa97.gitbook.io/crisa97/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://crisa97.gitbook.io/crisa97/bash-script/bandit.md).

# Bandit

En esta sesión vamos a ver cómo se resuelve cada uno de los retos de la plataforma **OverTheWire**, los cuales estarán divididos por subniveles.

\
Lo principal para poder empezar a jugar en la plataforma es entender cómo funciona el protocolo **SSH**, ya que este nos permitirá conectarnos a ella.

\
A continuación, les daré una breve introducción sobre su funcionamiento.

### ¿Que es SSH?

SSH, o **Secure Shell**, es un protocolo de red criptográfico utilizado para establecer una conexión segura a través de una red no segura. SSH es comúnmente usado para acceder a sistemas remotos y ejecutar comandos de forma segura. Proporciona autenticación, privacidad y protección de la integridad de los datos que se transmiten. SSH opera típicamente en el puerto 22 y es una herramienta fundamental en la administración de servidores y la realización de tareas remotas en entornos Unix y Linux.

<figure><img src="https://829412836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhWuLRLIEwm4llKKKIidK%2Fuploads%2FpiNViChWJ65vAaBuby1w%2Fimage.png?alt=media&amp;token=a1d58e79-e151-4c35-8e06-3e1b7096a291" alt=""><figcaption></figcaption></figure>

### ¿Cómo conectarnos a SSH?

Lo principal para poder conectarse mediante el protocolo SSH es tenerlo instalado en el sistema. En caso de no tenerlo instalado en Linux, se deben ejecutar los siguientes comandos:

```bash
sudo apt install openssh-client
sudo apt install openssh-server
```

Una vez instaladas las aplicaciones, se debe inicializar el servicio SSH en Linux con el siguiente comando:

```bash
sudo systemctl start ssh.service
```

Para verificar que todo haya quedado correctamente configurado, se puede ejecutar el siguiente comando:

```bash
ssh -v 
```

Este comando mostrará por consola una breve lista de información y comandos relacionados con SSH, como se puede observar en la siguiente imagen.

<figure><img src="https://829412836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhWuLRLIEwm4llKKKIidK%2Fuploads%2FNMja50acPP8OdjEJJKs2%2Fimage.png?alt=media&amp;token=7b688f90-55fb-45cd-991f-96ed41d7c8a1" alt=""><figcaption></figcaption></figure>

### Como ejecutar SSH

Una vez realizados los pasos anteriores, abrimos la terminal y ejecutamos el siguiente comando:

```bash
ssh bandit0@bandit.labs.overthewire.org -p2220
```

A continuación, te explico cómo funciona este comando.

<figure><img src="https://829412836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhWuLRLIEwm4llKKKIidK%2Fuploads%2FISBKZaFW662zqlgMl09Z%2Fimage.png?alt=media&amp;token=1d7c41c0-4138-40f2-862a-e4bfc61e88b6" alt=""><figcaption></figcaption></figure>

Como se puede ver en la imagen anterior, el comando está marcado con números para facilitar la explicación:

1. **Usuario:** Es el nombre de usuario con el cual nos vamos a conectar por **SSH**. En este caso, **bandit0.**
2. **Host:** Después del símbolo @, se encuentra el host de la máquina a la que nos vamos a conectar. Puede ser una dirección **IP** o una **URL**. En este caso es **bandit.labs.overthewire.org**.
3. **Puerto:** El parámetro `-p`  se utiliza para indicar el puerto al que se desea conectar. Por defecto, **SSH** usa el puerto 22, pero en este caso nos estamos conectando al puerto 2220.
4. **Autenticación:** Finalmente, el sistema pedirá las credenciales del usuario para validar la autenticación y permitir el acceso al servidor.
