> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/es/sonar/administration/remote-access/remote-terminal.md).

# Terminal remoto

Abra un shell de comandos en un dispositivo Windows, Linux o macOS desde la ventana remota, elija el shell y la cuenta con la que se ejecuta, y encuentre la entrada de auditoría.

## Qué es y cuándo usarlo

La pestaña **Terminal** de la ventana remota abre un shell de comandos interactivo en el dispositivo, en su navegador. Úsela para el trabajo que es más rápido en un prompt que en el escritorio: revisar un archivo de configuración, reiniciar un daemon, leer un registro, ejecutar un comando puntual mientras observa la salida.

Funciona en dispositivos Windows, Linux y macOS. En Linux y macOS es la pestaña en la que se abre la ventana remota, porque la pestaña de escritorio solo existe para Windows.

El terminal pasa por el servicio de acceso remoto, igual que el escritorio remoto, así que necesita que el agente de acceso remoto del dispositivo esté en línea. Para ejecutar un comando sin una sesión interactiva, o en muchos dispositivos a la vez, use [Ejecutar un comando o un script en un dispositivo](/es/sonar/administration/automation/run-commands-and-scripts.md).

## Antes de empezar

* Un rol con **List Agents** y **Use Mesh** en **Admin Center › Roles**. No hay un permiso aparte para el terminal: **Use Mesh** cubre el escritorio, el terminal y el explorador de archivos.
* El dispositivo muestra **Remote Online** en el panel del dispositivo.
* Para **User Shell** o **User PowerShell**, un usuario con la sesión iniciada en el dispositivo.

## Pasos

1. Abra **Dashboard › Sysadmin**, seleccione el dispositivo y haga clic en **Take Control**. Vea [Control remoto](/es/sonar/administration/remote-access/remote-control.md) para las demás formas de abrir la ventana remota.
2. Haga clic en la pestaña **Terminal**.
3. Para abrir el shell predeterminado, haga clic en **Connect**. Para elegir el shell, haga clic derecho en **Connect** y elija uno de la lista. Los shells se enumeran en la referencia de campos más abajo.
4. Espere al prompt y escriba sus comandos.
5. Haga clic en **Disconnect** al terminar.

## Qué debe ver

El estado junto a **Connect** deja de mostrar **Disconnected**, y el prompt del shell aparece en el área del terminal.

La barra debajo del terminal muestra **Session time**, una lista de teclas especiales con **Send** y botones para **Ctl-C**, **Ctl-X** y **ESC**, para las teclas que, de otro modo, capturaría su navegador.

Si la configuración de consentimiento de su despliegue lo exige, primero se pregunta a la persona que ha iniciado sesión en el dispositivo, con el mensaje "*name* requesting remote terminal access. Grant access?". Su terminal muestra "Waiting for user to grant access..." hasta que responda. Las entradas **Ask** de la lista de shells de Windows siempre piden consentimiento, sea cual sea la configuración. Lo que ve la persona en el endpoint se describe en [Control remoto](/es/sonar/administration/remote-access/remote-control.md).

## Cómo verificar que funcionó

1. Ejecute un comando cuya respuesta conozca, como `hostname` o `whoami`. La salida debe mostrar el nombre del dispositivo y la cuenta con la que se ejecuta el shell.
2. Abra la pestaña **Audits** del panel del dispositivo. La entrada **Remote Session** escrita cuando abrió la ventana remota debe estar allí, con su nombre de usuario.

{% hint style="info" %}
El terminal queda cubierto por la única entrada **Remote Session** que SONAR escribe cuando se abre la ventana remota. Los comandos que usted escribe no se registran en SONAR. Si necesita dejar constancia de un comando y de su salida, ejecútelo con **Send Command** desde el menú de acciones del dispositivo, que conserva el comando y su salida en la pestaña **History** del dispositivo.
{% endhint %}

## Errores comunes

| Síntoma                                                       | Causa                                                                                      | Solución                                                                                                                                                                        |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| La pestaña **Terminal** muestra **Remote access unavailable** | El agente de acceso remoto no estaba en línea cuando se abrió la ventana                   | Espere a que aparezca **Remote Online** en el panel del dispositivo y vuelva a abrir la ventana. Vea [Control remoto](/es/sonar/administration/remote-access/remote-control.md) |
| "Waiting for user to grant access..." y el prompt no aparece  | La persona en el endpoint no ha hecho clic en **Allow**, o ha hecho clic en **Deny**       | Póngase en contacto con el usuario, o conéctese con un shell que no pida consentimiento                                                                                         |
| "PowerShell is not supported on this version of windows"      | La versión de Windows del dispositivo no tiene un PowerShell que el terminal pueda iniciar | Use **Admin Shell** o **User Shell**                                                                                                                                            |
| **User Shell** o **User PowerShell** no se abre               | Ningún usuario tiene la sesión iniciada en el dispositivo                                  | Use **Admin Shell** o **Admin PowerShell**                                                                                                                                      |
| **Login Shell** pide un nombre de usuario                     | Inicia el propio inicio de sesión del dispositivo                                          | Inicie sesión con una cuenta que exista en el dispositivo                                                                                                                       |

## Referencia de campos

Shells de la lista que se abre con clic derecho en **Connect**:

| Shell                                                                                      | Se ejecuta como                                                                                                                | Plataforma   |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------ |
| **Admin Shell**                                                                            | Símbolo del sistema con derechos de administrador. Es lo que abre **Connect** en Windows                                       | Windows      |
| **Admin PowerShell**                                                                       | PowerShell con derechos de administrador                                                                                       | Windows      |
| **User Shell**                                                                             | Símbolo del sistema como el usuario con la sesión iniciada en el dispositivo                                                   | Windows      |
| **User PowerShell**                                                                        | PowerShell como el usuario con la sesión iniciada en el dispositivo                                                            | Windows      |
| **Ask Admin Shell**, **Ask Admin PowerShell**, **Ask User Shell**, **Ask User PowerShell** | Los mismos cuatro shells, con una solicitud de consentimiento que se muestra antes a la persona que está frente al dispositivo | Windows      |
| **Root Shell**                                                                             | `bash` como root, o `sh` donde falta `bash`. Es lo que abre **Connect** en Linux y macOS                                       | Linux, macOS |
| **User Shell**                                                                             | El shell como el usuario con la sesión iniciada en la consola del dispositivo                                                  | Linux, macOS |
| **Login Shell**                                                                            | El prompt de inicio de sesión del dispositivo. Usted inicia sesión con un nombre de usuario y una contraseña del dispositivo   | Linux, macOS |

Controles del terminal:

| Control                               | Qué hace                                                                             |
| ------------------------------------- | ------------------------------------------------------------------------------------ |
| **Connect** / **Disconnect**          | Abre y cierra el shell. Haga clic derecho en **Connect** para ver la lista de shells |
| **Session time**                      | Cuánto tiempo lleva abierto el shell                                                 |
| Lista de teclas especiales y **Send** | Envía al shell la tecla seleccionada                                                 |
| **Ctl-C**, **Ctl-X**, **ESC**         | Envían esas teclas al shell                                                          |

## Páginas relacionadas

* [Control remoto](/es/sonar/administration/remote-access/remote-control.md): la ventana remota, el estado remoto y el consentimiento
* [Transferir archivos](/es/sonar/administration/remote-access/file-transfer.md): mover archivos hacia y desde el mismo dispositivo
* [Ejecutar un comando o un script en un dispositivo](/es/sonar/administration/automation/run-commands-and-scripts.md): comandos que se conservan en el historial del dispositivo
* [Registro de auditoría](/es/sonar/administration/audit/audit-trail.md): la entrada **Remote Session**
