El acceso SSH y SFTP siempre ha sido una parte importante de cómo los desarrolladores se conectan de forma segura a sus entornos de WordPress en Kinsta.

A lo largo de los años, hemos mejorado estas herramientas con listas de IP permitidas, múltiples métodos de autenticación y controles de acceso detallados para reforzar la seguridad, manteniendo al mismo tiempo la flexibilidad de los desarrolladores.

Opciones de acceso SFTP y SSH en MyKinsta
Opciones de acceso SFTP y SSH en MyKinsta.

Ahora, estamos extendiendo esas mismas capacidades a la API de Kinsta, ampliando nuestros actuales endpoints de gestión de usuarios SFTP para ofrecerte un control programático completo sobre el acceso SSH y SFTP.

Repasemos los nuevos endpoints y exploremos cómo puedes utilizarlos para automatizar el acceso SSH y SFTP en tus entornos.

Activar o desactivar el acceso SSH/SFTP

El nuevo endpoint /ssh/set-status te permite habilitar o deshabilitar mediante programación el acceso SSH y SFTP para cualquier entorno.

Esto resulta útil para automatizar la seguridad en los flujos de trabajo del despliegue. Por ejemplo, habilitar temporalmente el acceso mientras se envían actualizaciones y, a continuación, deshabilitarlo una vez que se haya completado el despliegue.

Endpoint:

POST /sites/environments/{env_id}/ssh/set-status

Ejemplo de solicitud:

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/set-status' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "is_enabled": true }'

Consulta los detalles completos de la solicitud y la respuesta en la referencia de la API.

Gestionar los métodos de autenticación

Ahora también puedes controlar cómo se autentican los usuarios, si mediante claves SSH o mediante nombre de usuario y contraseña.

Esto te da más flexibilidad a la hora de gestionar distintos tipos de colaboradores o herramientas externas que necesitan conectarse a tus entornos.

Por ejemplo, aunque tu equipo interno utilice exclusivamente la autenticación basada en claves SSH, es posible que un colaborador temporal o un servicio automatizado necesite acceso mediante contraseña durante un tiempo limitado. Con este nuevo endpoint de la API, puedes habilitar o deshabilitar la autenticación por contraseña mediante programación y eliminarla cuando ya no sea necesaria.

Endpoint:

POST /sites/environments/{env_id}/ssh/set-password-status

Ejemplo de solicitud:

curl -i -X POST \  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/set-password-status' \ 
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "is_enabled": true }'

Ver más en la referencia de la API.

Generar y rotar contraseñas SFTP

Una gestión sólida de las contraseñas es fundamental para la seguridad de los flujos de trabajo, especialmente cuando varios desarrolladores o servicios automatizados acceden a los entornos.

Con esta versión, ahora puedes generar y recuperar contraseñas SFTP mediante programación, lo que facilita la automatización de la rotación de credenciales o la concesión de acceso a corto plazo para despliegues o colaboradores externos.

Endpoints:

POST /sites/environments/{env_id}/ssh/generate-password
GET /sites/environments/{env_id}/ssh/password

Ejemplo de solicitud (generar contraseña):

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/generate-password' \
  -H 'Authorization: Bearer '

Puedes encontrar ejemplos completos de solicitud y respuesta en la referencia de la API para generar contraseñas y recuperar contraseñas.

Gestionar listas de IP permitidas

Ahora puedes gestionar mediante programación las listas de direcciones IP permitidas para el acceso SSH y SFTP. Esto proporciona una forma sencilla de restringir el acceso al entorno solo a las redes aprobadas, lo que ayuda a los equipos a aplicar políticas de seguridad estrictas sin necesidad de realizar actualizaciones manuales en MyKinsta.

Por ejemplo, si tus runners de CI/CD o las IP de tu oficina cambian con frecuencia, tu automatización puede actualizar la lista de permitidos dinámicamente, permitiendo que sólo esos sistemas se conecten a tus entornos.

Endpoints:

POST /sites/environments/{env_id}/ssh/set-allowed-ips
GET /sites/environments/{env_id}/ssh/get-allowed-ips

Ejemplo de solicitud (recuperar lista de permitidos):

curl -i -X GET \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/get-allowed-ips' \
  -H 'Authorization: Bearer '

Ejemplo de respuesta:

{
  "environment": {
    "active_container": {
      "stfp_ip_allowlist": ["127.0.0.1"]
    }
  }
}

Puedes encontrar ejemplos completos tanto para recuperar como para actualizar las listas de IP permitidas en la referencia de la API.

Definir intervalos de caducidad de credenciales

Para ayudar a los equipos a aplicar credenciales de corta duración y reducir la exposición a largo plazo, ahora puedes establecer intervalos de caducidad de credenciales SSH/SFTP directamente a través de la API.

Esto te permite que el acceso caduque automáticamente tras un periodo definido, en función de la política de seguridad de tu equipo.

Endpoint:

POST /sites/environments/{env_id}/ssh/change-expiration-interval

Ejemplo de solicitud:

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/change-expiration-interval' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "interval": "24h" }'

Puedes encontrar ejemplos detallados y opciones de intervalo disponibles en la referencia de la API.

Recuperar detalles de conexión

Al gestionar múltiples entornos o automatizar despliegues, muchas veces resulta útil obtener rápidamente los datos de conexión SSH/SFTP sin tener que iniciar sesión en MyKinsta.

El nuevo endpoint/ssh/config te permite recuperar mediante programación toda la información necesaria para conectarte, incluido el host, el puerto, el nombre de usuario e incluso un comando SSH listo para usar.

Endpoint:

GET /sites/{site_id}/environments/{env_id}/ssh/config

Ejemplo de respuesta:

{
  "port": "22",
  "host": "example.sftp.kinsta.cloud",
  "user": "kinsta_user",
  "ssh_command": "ssh [email protected] -p 22"
}

Puedes encontrar ejemplos completos de solicitud y respuesta en la referencia de la API Kinsta.

Crea flujos de trabajo de automatización seguros

Con estos nuevos endpoints, puedes automatizar completamente el acceso SSH y SFTP en todos tus entornos.

Desde la incorporación de desarrolladores hasta la rotación de credenciales y la aplicación de políticas de red, la API Kinsta te da la flexibilidad para integrar la gestión de conexiones seguras en tus flujos de trabajo DevOps existentes.

Explora todos los detalles del endpoint y los ejemplos de solicitud en la referencia de la API Kinsta.