Cómo usa AnyBucket tu configuración SSH

No hay un almacén de claves aparte que rellenar. Para SFTP, AnyBucket inicia /usr/bin/ssh, el mismo programa que usa Terminal, así que:

  • tus claves privadas de ~/.ssh funcionan,
  • las claves cargadas en tu agente SSH funcionan,
  • se aplica cada bloque Host de ~/.ssh/config, incluidos HostName, User, IdentityFile y ProxyJump,
  • las claves de host se comprueban con ~/.ssh/known_hosts, que comparte con Terminal.

La regla general: si ssh user@host funciona en Terminal, funciona en AnyBucket. Las contraseñas, cuando un servidor pide una, van a tu llavero de inicio de sesión.

Crea una clave y añádela al servidor

Si aún no tienes una clave:

  1. Abre Terminal y ejecuta ssh-keygen -t ed25519. Pulsa Retorno para mantener el archivo por omisión, ~/.ssh/id_ed25519, y elige una frase de contraseña.
  2. Añade la mitad pública, ~/.ssh/id_ed25519.pub, a ~/.ssh/authorized_keys en el servidor, o envíasela al administrador del servidor. No compartas nunca el archivo sin .pub.
  3. Pruébala: ssh user@host debería iniciar sesión sin pedir la contraseña del servidor.

Para no escribir la frase de contraseña cada vez, añade la clave a tu agente con ssh-add. macOS puede guardar la frase de contraseña en tu llavero.

Pon nombre a tus servidores en ~/.ssh/config

Un bloque Host da a un servidor un nombre corto y los ajustes para llegar a él:

Host staging
  HostName staging.example.com
  User deploy
  IdentityFile ~/.ssh/id_ed25519

Ahora ssh staging inicia sesión como deploy con esa clave. En AnyBucket, conéctate por SFTP al servidor staging y se aplica el mismo bloque, porque AnyBucket pasa el nombre a ssh igual que lo haría Terminal.

Llega a un servidor a través de un host de salto

A muchos servidores solo se puede llegar a través de un bastión, o host de salto. En Terminal escribirías ssh -J bastion app para una conexión puntual. Para dejarlo fijo, usa ProxyJump:

Host bastion
  HostName bastion.example.com
  User me

Host app
  HostName 10.0.1.20
  User deploy
  ProxyJump bastion

Pruébalo con ssh app en Terminal. En cuanto inicie sesión, conecta AnyBucket a app por SFTP: la conexión pasa por el bastión por sí sola, sin nada más que configurar en la app. Varios saltos se encadenan igual, con una lista separada por comas después de ProxyJump.

Claves de host: «aún no se conoce» o «ha cambiado»

La primera vez que te conectas a un servidor, su clave aún no está en ~/.ssh/known_hosts, y AnyBucket pregunta antes de confiar en ella, como hace Terminal. Compara la huella digital con la que ha publicado el administrador de tu servidor.

Si AnyBucket dice que una clave ha cambiado, detente y averigua por qué. Después de reconstruir o reinstalar un servidor, es normal que tenga una clave nueva. Si no es el caso, no te conectes: una clave que ha cambiado puede significar que no estás hablando con el servidor que crees. Más información en solución de problemas.

Cuando no funciona

  1. Prueba primero en Terminal exactamente con el nombre de host que usas en AnyBucket: ssh staging. Si falla, el problema está en la configuración SSH, no en la app.
  2. Añade -v (ssh -v staging) para ver qué claves y líneas de configuración prueba ssh.
  3. Comprueba el agente con ssh-add -l: muestra las claves que tiene cargadas.
  4. Comprueba los permisos: ssh rechaza las claves privadas que pueden leer otros usuarios. chmod 600 ~/.ssh/id_ed25519 lo arregla.

¿Sigue sin funcionar? Consulta las claves SFTP o los hosts de salto no funcionan, o escribe al soporte con lo que muestra ssh -v, quitando cualquier dato privado.