Come AnyBucket usa la tua configurazione SSH

Non c'è un archivio di chiavi separato da riempire. Per SFTP, AnyBucket avvia /usr/bin/ssh, lo stesso programma del Terminale, quindi:

  • le tue chiavi private in ~/.ssh funzionano,
  • le chiavi caricate nel tuo agent SSH funzionano,
  • ogni blocco Host di ~/.ssh/config si applica, compresi HostName, User, IdentityFile e ProxyJump,
  • le chiavi host vengono verificate con ~/.ssh/known_hosts, condiviso con il Terminale.

La regola pratica: se ssh user@host funziona nel Terminale, funziona in AnyBucket. Le password, quando un server ne chiede una, finiscono nel tuo portachiavi di login.

Crea una chiave e aggiungila al server

Se non hai ancora una chiave:

  1. Apri il Terminale ed esegui ssh-keygen -t ed25519. Premi Invio per tenere il file predefinito, ~/.ssh/id_ed25519, e scegli una passphrase.
  2. Aggiungi la metà pubblica, ~/.ssh/id_ed25519.pub, a ~/.ssh/authorized_keys sul server, oppure inviala all'amministratore del server. Non condividere mai il file senza .pub.
  3. Provala: ssh user@host dovrebbe accedere senza chiedere la password del server.

Per non digitare la passphrase ogni volta, aggiungi la chiave al tuo agent con ssh-add. macOS può conservare la passphrase nel tuo portachiavi.

Dai un nome ai tuoi server in ~/.ssh/config

Un blocco Host dà a un server un nome breve e le impostazioni per raggiungerlo:

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

Ora ssh staging accede come deploy con quella chiave. In AnyBucket, connettiti al server staging via SFTP e si applica lo stesso blocco, perché AnyBucket passa il nome a ssh proprio come farebbe il Terminale.

Raggiungi un server tramite un jump host

Molti server si raggiungono solo attraverso un bastion host, o jump host. Nel Terminale scriveresti ssh -J bastion app per una volta sola. Per renderlo permanente, usa ProxyJump:

Host bastion
  HostName bastion.example.com
  User me

Host app
  HostName 10.0.1.20
  User deploy
  ProxyJump bastion

Prova con ssh app nel Terminale. Quando l'accesso riesce, connetti AnyBucket ad app via SFTP: la connessione passa da sola attraverso il bastion, senza niente da impostare nell'app. Più salti si concatenano allo stesso modo, con un elenco separato da virgole dopo ProxyJump.

Chiavi host: “non ancora conosciuta” o “cambiata”

La prima volta che ti connetti a un server, la sua chiave non è ancora in ~/.ssh/known_hosts, e AnyBucket chiede prima di considerarla attendibile, come fa il Terminale. Confronta l'impronta con quella pubblicata dall'amministratore del server.

Se AnyBucket dice che una chiave è cambiata, fermati e scopri perché. Dopo che un server è stato ricostruito o reinstallato, una nuova chiave è normale. Altrimenti non connetterti: una chiave cambiata può voler dire che non stai parlando con il server che pensi. Altro in risoluzione dei problemi.

Quando non funziona

  1. Prova prima nel Terminale con esattamente il nome host che usi in AnyBucket: ssh staging. Se non riesce, il problema è nella configurazione SSH, non nell'app.
  2. Aggiungi -v (ssh -v staging) per vedere quali chiavi e righe di configurazione prova ssh.
  3. Controlla l'agent con ssh-add -l: elenca le chiavi che l'agent contiene.
  4. Controlla i permessi: ssh rifiuta le chiavi private leggibili da altri utenti. chmod 600 ~/.ssh/id_ed25519 risolve.

Ancora bloccato? Vedi Le chiavi SFTP o i jump host non funzionano, oppure scrivi al supporto con ciò che mostra ssh -v, togliendo tutto ciò che è privato.