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
~/.sshfuncionan, - las claves cargadas en tu agente SSH funcionan,
- se aplica cada bloque
Hostde~/.ssh/config, incluidosHostName,User,IdentityFileyProxyJump, - 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:
- 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. - Añade la mitad pública,
~/.ssh/id_ed25519.pub, a~/.ssh/authorized_keysen el servidor, o envíasela al administrador del servidor. No compartas nunca el archivo sin.pub. - Pruébala:
ssh user@hostdeberí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
- 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. - Añade
-v(ssh -v staging) para ver qué claves y líneas de configuración pruebassh. - Comprueba el agente con
ssh-add -l: muestra las claves que tiene cargadas. - Comprueba los permisos:
sshrechaza las claves privadas que pueden leer otros usuarios.chmod 600 ~/.ssh/id_ed25519lo 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.