# Implementación de Agent mediante WinRM SSH

<section class="push_double--top" id="bkmrk-1.-pr%C3%A9paration-des-m"><div class="formatted_content formatted_content--large"><div>**Preparación de las máquinas**   
</div><div>**Máquinas Debian (Medulla Main y Medulla Relai)**</div>- Asegúrese de que netcat esté instalado en las máquinas Debian:
- ```
    sudo apt update && sudo apt install netcat-openbsd
    ```

<div>**Máquina Windows (estación de trabajo del cliente)**</div>- Asegúrese de que PowerShell esté configurado para ejecutar scripts:
- ```
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    ```
- Responda \[A\] «Sí a todo»

<div> **Scripts de escucha**   
</div><div>**En máquinas Debian (Medulla Main y Medulla Relai)**</div><div>Utilice el script listen_ports_debian.sh para poner en escucha los puertos necesarios.</div><div>  
**Pasos:**</div>1. **Descarga el script**listen\_ports\_debian.sh en la máquina.
2. **Haga que sea ejecutable (**y conviértalo a Unix si es necesario):

</div>```
chmod +x listen_ports_debian.sh
dos2unix listen_ports_debian.sh
```

<div class="formatted_content formatted_content--large">1. **Ejecute el script**: 
    - Para**Medulla Main**:
    - ```
        ./listen_ports_debian.sh --medulla
        ```
    - Para**Medulla Relai**:
    - ```
        ./listen_ports_debian.sh --relay
        ```

<div> **En el equipo Windows (estación de trabajo)**</div><div>Utilice el script listen_ports_windows.ps1 para poner a escuchar los puertos necesarios.  
  
</div><div>**Pasos:**</div>1. **Descargue el script**listen\_ports\_windows.ps1 en el equipo.
2. **Ejecute el script**:

</div>```
.\listen_ports_windows.ps1
```

<div class="formatted_content formatted_content--large"><div> **Scripts de prueba de conexión**</div><div> **En los equipos Debian (Medulla Main, Medulla Relai y Poste Client)**</div><div>  
Utilice los scripts medulla_connection_check.sh, medulla_relay_connection_check.sh y windows_connection_check.ps1 para comprobar las conexiones con los equipos.  
  
</div><div>**Pasos:**</div>1. **Descargue los scripts**en las tres máquinas (Medulla Main, Relai y Poste Client).
2. **Haga que sean ejecutables**:
3. ```
    chmod +x medulla_connection_check.sh
    chmod +x medulla_relay_connection_check.sh
    chmod +x listen_ports_debian.sh
    ```
4. Si es necesario (error al ejecutar los scripts de Debian), conviértalos a Unix:
5. ```
    dos2unix medulla_connection_check.sh
    dos2unix medulla_relay_connection_check.sh
    dos2unix listen_ports_debian.sh
    ```
6. **Ejecute el script**: 
    - Para probar las conexiones desde**Medulla Main**hacia Medulla Relai:
    - ```
        ./medulla_connection_check.sh --relay <IP_Medulla_Relai>
        ```
    - Para probar las conexiones desde**Medulla Main**hacia un terminal de cliente:
    - ```
        ./medulla_connection_check.sh --client <IP_estación_cliente>
        ```
    - Para comprobar las conexiones desde**Medulla Relai**a Medulla Main:
    - ```
        ./medulla_relay_connection_check.sh --medulla <IP_Medulla_Main>
        ```
    - Para comprobar las conexiones desde**Medulla Relé**a un terminal de cliente:
    - ```
        ./medulla_relay_connection_check.sh --client <IP_Estación_Cliente>
        ```
    - Para comprobar las conexiones desde**el puesto de cliente hacia**Medulla Main y Medulla Relai:
    - ```
        .\windows_connection_check.ps1 -Target <IP_Medulla_Main> -Mode pulse
        .\windows_connection_check.ps1 -Target <IP_Medulla_Relai> -Mode relay
        ```

<div> **Procedimiento completo**</div><div> **Configuración de los puertos**</div></div> **En Medulla Main (Debian)**:

```
./listen_port_debian.sh --medulla
```

 **En Medulla Relai (Debian)**:

```
./listen_port_debian.sh --relay
```

 **En el equipo cliente (Windows)**:

```
.\listen_ports_windows.ps1
```

<div class="formatted_content formatted_content--large"><div> **Prueba de conexiones  
  
Desde Medulla Main (Debian)**:</div></div>```
./medulla_connection_check.sh --relay <IP_Medulla_Relai>
./medulla_connection_check.sh --client <IP_Poste_Client>
```

<div class="formatted_content formatted_content--large"><div>  
**Desde Medulla Relé (Debian)**:</div></div>```
./medulla_relay_connection_check.sh --medulla <IP_Medulla_Main>
./medulla_relay_connection_check.sh --client <IP_Poste_Client>
```

<div class="formatted_content formatted_content--large"><div>  
**Desde el equipo cliente (Windows):**</div></div>```
.\windows_connection_check.ps1 -Target <IP_Medulla_Main> -Mode pulse
.\windows_connection_check.ps1 -Target <IP_Medulla_Relai> -Mode relay
```

<div class="formatted_content formatted_content--large"><div> **Resolución de problemas**</div><div> **Problemas de conexión**</div>- **Comprueba las direcciones IP**: Asegúrate de que las direcciones IP utilizadas sean correctas.
- **Compruebe los cortafuegos**: Asegúrese de que los cortafuegos de los equipos permiten las conexiones en los puertos necesarios.
- **Compruebe los servicios**: Asegúrese de que los servicios necesarios estén en ejecución.

<div>**Problemas de escucha**</div>- **Compruebe los puertos en escucha**: utilice netstat -ano en Windows o ss -tulnp en Debian para comprobar que los puertos están realmente en escucha.
- **Comprueba los errores**: consulta los mensajes de error en los scripts para identificar los problemas.

</div></section><div class="push--top" id="bkmrk-"><div class="boosts boosts--small metadata push--bottom boosts--empty"><div class="boost-form__link-container">  
</div></div></div>