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
~/.sshfunzionano, - le chiavi caricate nel tuo agent SSH funzionano,
- ogni blocco
Hostdi~/.ssh/configsi applica, compresiHostName,User,IdentityFileeProxyJump, - 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:
- Apri il Terminale ed esegui
ssh-keygen -t ed25519. Premi Invio per tenere il file predefinito,~/.ssh/id_ed25519, e scegli una passphrase. - Aggiungi la metà pubblica,
~/.ssh/id_ed25519.pub, a~/.ssh/authorized_keyssul server, oppure inviala all'amministratore del server. Non condividere mai il file senza.pub. - Provala:
ssh user@hostdovrebbe 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
- 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. - Aggiungi
-v(ssh -v staging) per vedere quali chiavi e righe di configurazione provassh. - Controlla l'agent con
ssh-add -l: elenca le chiavi che l'agent contiene. - Controlla i permessi:
sshrifiuta le chiavi private leggibili da altri utenti.chmod 600 ~/.ssh/id_ed25519risolve.
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.