Så använder AnyBucket din SSH-konfiguration
Det finns inget separat nyckellager att fylla i. För SFTP startar AnyBucket /usr/bin/ssh, samma program som Terminal använder, så:
- dina privata nycklar i
~/.sshfungerar, - nycklar som är inlästa i din SSH-agent fungerar,
- varje
Host-block i~/.ssh/configgäller, inklusiveHostName,User,IdentityFileochProxyJump, - värdnycklar kontrolleras mot
~/.ssh/known_hosts, som Terminal delar.
Tumregeln: om ssh user@host fungerar i Terminal fungerar det i AnyBucket. Lösenord, när en server frågar efter ett, sparas i inloggningsnyckelringen.
Skapa en nyckel och lägg till den på servern
Om du inte har någon nyckel än:
- Öppna Terminal och kör
ssh-keygen -t ed25519. Tryck på retur för att behålla standardfilen,~/.ssh/id_ed25519, och välj en lösenfras. - Lägg till den offentliga halvan,
~/.ssh/id_ed25519.pub, i~/.ssh/authorized_keyspå servern, eller skicka den till serverns administratör. Dela aldrig filen utan.pub. - Testa:
ssh user@hostska logga in utan att fråga efter serverns lösenord.
För att slippa skriva lösenfrasen varje gång lägger du till nyckeln i agenten med ssh-add. macOS kan spara lösenfrasen i din nyckelring.
Namnge dina servrar i ~/.ssh/config
Ett Host-block ger en server ett kort namn och inställningarna för att nå den:
Host staging
HostName staging.example.com
User deploy
IdentityFile ~/.ssh/id_ed25519
Nu loggar ssh staging in som deploy med den nyckeln. I AnyBucket ansluter du till servern staging via SFTP, och samma block gäller, eftersom AnyBucket skickar namnet till ssh precis som Terminal skulle göra.
Nå en server via en hoppvärd
Många servrar kan bara nås via en bastion, eller hoppvärd (jump host). I Terminal skriver du ssh -J bastion app för en enstaka gång. Använd ProxyJump för att göra det permanent:
Host bastion
HostName bastion.example.com
User me
Host app
HostName 10.0.1.20
User deploy
ProxyJump bastion
Testa med ssh app i Terminal. När det loggar in ansluter du AnyBucket till app via SFTP: anslutningen går genom bastionen av sig själv, utan något extra att ställa in i appen. Flera hopp kedjas på samma sätt, med en kommaseparerad lista efter ProxyJump.
Värdnycklar: ”är inte känd än” eller ”har ändrats”
Första gången du ansluter till en server finns dess nyckel inte i ~/.ssh/known_hosts än, och AnyBucket frågar innan den litar på nyckeln, precis som Terminal. Jämför fingeravtrycket med det som serverns administratör har publicerat.
Om AnyBucket säger att en nyckel har ändrats ska du stanna och ta reda på varför. Efter att en server har byggts om eller installerats om är en ny nyckel väntad. Annars ska du inte ansluta: en ändrad nyckel kan betyda att du inte pratar med den server du tror. Mer i felsökning.
När det inte fungerar
- Prova Terminal först med exakt det värdnamn du använder i AnyBucket:
ssh staging. Om det misslyckas ligger problemet i SSH-konfigurationen, inte i appen. - Lägg till
-v(ssh -v staging) för att se vilka nycklar och konfigurationsradersshprovar. - Kontrollera agenten med
ssh-add -l: den listar nycklarna som agenten har. - Kontrollera behörigheterna:
sshvägrar använda privata nycklar som andra användare kan läsa.chmod 600 ~/.ssh/id_ed25519löser det.
Fortfarande fast? Läs SFTP-nycklar eller hoppvärdar fungerar inte, eller mejla supporten med det som ssh -v visar, utan något privat.