SSH
Conéctate a servidores remotos vía SSH
SSH (Secure Shell) es un protocolo ampliamente utilizado para conectarse de forma segura a servidores remotos, permitiéndote ejecutar comandos, transferir archivos y gestionar sistemas a través de canales cifrados.
Con el soporte SSH en Sim, tus agentes pueden:
- Ejecutar comandos remotos: Ejecuta comandos de shell en cualquier servidor accesible por SSH
- Subir y ejecutar scripts: Transfiere y ejecuta fácilmente scripts de múltiples líneas para automatización avanzada
- Transferir archivos de forma segura: Sube y descarga archivos como parte de tus flujos de trabajo (próximamente o mediante comando)
- Automatizar la gestión de servidores: Realiza actualizaciones, mantenimiento, monitoreo, despliegues y tareas de configuración de forma programática
- Usar autenticación flexible: Conéctate con autenticación por contraseña o clave privada, incluyendo soporte para claves cifradas
Las siguientes herramientas SSH de Sim permiten a tus agentes interactuar con servidores como parte de automatizaciones más amplias:
ssh_execute_command: Ejecuta cualquier comando shell de forma remota y captura la salida, el estado y los errores.
ssh_execute_script: Sube y ejecuta un script completo de múltiples líneas en el sistema remoto.
- (Próximamente herramientas adicionales, como la transferencia de archivos).
Al integrar SSH en los flujos de trabajo de tus agentes, puedes automatizar el acceso seguro, las operaciones remotas y la orquestación de servidores, agilizando DevOps, automatización de TI y gestión remota personalizada, todo desde Sim.
Ejecuta comandos, transfiere archivos y gestiona servidores remotos vía SSH. Compatible con autenticación por contraseña y clave privada para acceso seguro al servidor.
Ejecuta un comando shell en un servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
command | string | Sí | Comando shell para ejecutar en el servidor remoto |
workingDirectory | string | No | Directorio de trabajo para la ejecución del comando |
| Parámetro | Tipo | Descripción |
|---|
stdout | string | Salida estándar del comando |
stderr | string | Salida de error estándar |
exitCode | number | Código de salida del comando |
success | boolean | Si el comando tuvo éxito (código de salida 0) |
message | string | Mensaje de estado de la operación |
Subir y ejecutar un script de múltiples líneas en un servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
script | string | Sí | Contenido del script a ejecutar (bash, python, etc.) |
interpreter | string | No | Intérprete del script (predeterminado: /bin/bash) |
workingDirectory | string | No | Directorio de trabajo para la ejecución del script |
| Parámetro | Tipo | Descripción |
|---|
stdout | string | Salida estándar del script |
stderr | string | Salida de error estándar |
exitCode | number | Código de salida del script |
success | boolean | Si el script tuvo éxito (código de salida 0) |
scriptPath | string | Ruta temporal donde se subió el script |
message | string | Mensaje de estado de la operación |
Comprobar si un comando/programa existe en el servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
commandName | string | Sí | Nombre del comando a comprobar (p. ej., docker, git, python3) |
| Parámetro | Tipo | Descripción |
|---|
commandExists | boolean | Si el comando existe o no |
commandPath | string | Ruta completa al comando (si se encuentra) |
version | string | Salida de la versión del comando (si es aplicable) |
message | string | Mensaje de estado de la operación |
Subir un archivo a un servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
fileContent | string | Sí | Contenido del archivo a subir (codificado en base64 para archivos binarios) |
fileName | string | Sí | Nombre del archivo que se está subiendo |
remotePath | string | Sí | Ruta de destino en el servidor remoto |
permissions | string | No | Permisos del archivo (p. ej., 0644) |
overwrite | boolean | No | Si se deben sobrescribir archivos existentes (predeterminado: true) |
| Parámetro | Tipo | Descripción |
|---|
uploaded | boolean | Indica si el archivo se subió correctamente |
remotePath | string | Ruta final en el servidor remoto |
size | number | Tamaño del archivo en bytes |
message | string | Mensaje de estado de la operación |
Descargar un archivo desde un servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
remotePath | string | Sí | Ruta del archivo en el servidor remoto |
| Parámetro | Tipo | Descripción |
|---|
downloaded | boolean | Indica si el archivo se descargó correctamente |
fileContent | string | Contenido del archivo (codificado en base64 para archivos binarios) |
fileName | string | Nombre del archivo descargado |
remotePath | string | Ruta de origen en el servidor remoto |
size | number | Tamaño del archivo en bytes |
message | string | Mensaje de estado de la operación |
Listar archivos y directorios en un directorio remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta del directorio remoto a listar |
detailed | boolean | No | Incluir detalles del archivo (tamaño, permisos, fecha de modificación) |
recursive | boolean | No | Listar subdirectorios recursivamente (predeterminado: false) |
| Parámetro | Tipo | Descripción |
|---|
entries | array | Array de entradas de archivos y directorios |
Comprobar si un archivo o directorio existe en el servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta del archivo o directorio remoto a comprobar |
type | string | No | Tipo esperado: archivo, directorio o cualquiera (predeterminado: cualquiera) |
| Parámetro | Tipo | Descripción |
|---|
exists | boolean | Si la ruta existe |
type | string | Tipo de ruta (archivo, directorio, enlace simbólico, no_encontrado) |
size | number | Tamaño del archivo si es un archivo |
permissions | string | Permisos del archivo (p. ej., 0755) |
modified | string | Marca de tiempo de última modificación |
message | string | Mensaje de estado de la operación |
Crear un directorio en el servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta del directorio a crear |
recursive | boolean | No | Crear directorios padre si no existen (predeterminado: true) |
permissions | string | No | Permisos del directorio (predeterminado: 0755) |
| Parámetro | Tipo | Descripción |
|---|
created | boolean | Si el directorio se creó correctamente |
remotePath | string | Ruta del directorio creado |
alreadyExists | boolean | Si el directorio ya existía |
message | string | Mensaje de estado de la operación |
Eliminar un archivo o directorio del servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta a eliminar |
recursive | boolean | No | Eliminar directorios recursivamente (predeterminado: false) |
force | boolean | No | Forzar eliminación sin confirmación (predeterminado: false) |
| Parámetro | Tipo | Descripción |
|---|
deleted | boolean | Si la ruta se eliminó correctamente |
remotePath | string | Ruta eliminada |
message | string | Mensaje de estado de la operación |
Mover o renombrar un archivo o directorio en el servidor SSH remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
sourcePath | string | Sí | Ruta actual del archivo o directorio |
destinationPath | string | Sí | Nueva ruta para el archivo o directorio |
overwrite | boolean | No | Sobrescribir destino si existe (predeterminado: false) |
| Parámetro | Tipo | Descripción |
|---|
moved | boolean | Si la operación fue exitosa |
sourcePath | string | Ruta original |
destinationPath | string | Nueva ruta |
message | string | Mensaje de estado de la operación |
Obtener información del sistema desde el servidor SSH remoto
| Parámetro | Tipo | Requerido | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
| Parámetro | Tipo | Descripción |
|---|
hostname | string | Nombre de host del servidor |
os | string | Sistema operativo (p. ej., Linux, Darwin) |
architecture | string | Arquitectura de CPU (p. ej., x64, arm64) |
uptime | number | Tiempo de actividad del sistema en segundos |
memory | json | Información de memoria (total, libre, usada) |
diskSpace | json | Información de espacio en disco (total, libre, usado) |
message | string | Mensaje de estado de la operación |
Leer el contenido de un archivo remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta del archivo remoto a leer |
encoding | string | No | Codificación del archivo (predeterminado: utf-8) |
maxSize | number | No | Tamaño máximo de archivo a leer en MB (predeterminado: 10) |
| Parámetro | Tipo | Descripción |
|---|
content | string | Contenido del archivo como cadena de texto |
size | number | Tamaño del archivo en bytes |
lines | number | Número de líneas en el archivo |
remotePath | string | Ruta del archivo remoto |
message | string | Mensaje de estado de la operación |
Escribir o añadir contenido a un archivo remoto
| Parámetro | Tipo | Obligatorio | Descripción |
|---|
host | string | Sí | Nombre de host o dirección IP del servidor SSH |
port | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
username | string | Sí | Nombre de usuario SSH |
password | string | No | Contraseña para autenticación (si no se usa clave privada) |
privateKey | string | No | Clave privada para autenticación (formato OpenSSH) |
passphrase | string | No | Frase de contraseña para clave privada cifrada |
path | string | Sí | Ruta del archivo remoto donde escribir |
content | string | Sí | Contenido a escribir en el archivo |
mode | string | No | Modo de escritura: sobrescribir, añadir o crear (predeterminado: sobrescribir) |
permissions | string | No | Permisos del archivo (p. ej., 0644) |
| Parámetro | Tipo | Descripción |
|---|
written | boolean | Si el archivo se escribió correctamente |
remotePath | string | Ruta del archivo |
size | number | Tamaño final del archivo en bytes |
message | string | Mensaje de estado de la operación |
- Categoría:
tools
- Tipo:
ssh