Hogyan használja az AnyBucket az SSH-beállításaidat
Nincs külön kulcstár, amelyet fel kellene töltened. SFTP-hez az AnyBucket a /usr/bin/ssh programot indítja el, ugyanazt, amelyet a Terminal is használ, ezért:
- működnek a
~/.sshmappában lévő privát kulcsaid, - működnek az SSH-ügynöködbe betöltött kulcsok,
- érvényes a
~/.ssh/configmindenHostblokkja, aHostName, aUser, azIdentityFileés aProxyJumpbeállítással együtt, - a gépkulcsokat a
~/.ssh/known_hostsalapján ellenőrzi, amelyen a Terminallal osztozik.
Az ökölszabály: ha az ssh user@host működik a Terminalban, akkor az AnyBucketben is működik. A jelszavak, ha egy szerver kér ilyet, a bejelentkezési kulcskarikádba kerülnek.
Kulcs létrehozása és hozzáadása a szerverhez
Ha még nincs kulcsod:
- Nyisd meg a Terminalt, és futtasd az
ssh-keygen -t ed25519parancsot. A Return megnyomásával tartsd meg az alapértelmezett~/.ssh/id_ed25519fájlt, és válassz egy jelmondatot. - A nyilvános felet, a
~/.ssh/id_ed25519.pubfájlt add hozzá a szerveren a~/.ssh/authorized_keysfájlhoz, vagy küldd el a szerver rendszergazdájának. A.pubnélküli fájlt soha ne add ki senkinek. - Próbáld ki: az
ssh user@hostparancsnak a szerver jelszavának bekérése nélkül kell bejelentkeznie.
Hogy ne kelljen minden alkalommal begépelned a jelmondatot, add hozzá a kulcsot az ügynöködhöz az ssh-add paranccsal. A macOS a jelmondatot a kulcskarikádban is meg tudja őrizni.
Szervereid elnevezése a ~/.ssh/config fájlban
Egy Host blokk rövid nevet ad egy szervernek, és megadja, hogyan érhető el:
Host staging
HostName staging.example.com
User deploy
IdentityFile ~/.ssh/id_ed25519
Mostantól az ssh staging ezzel a kulccsal, deploy felhasználóként jelentkezik be. Az AnyBucketben kapcsolódj SFTP-n a staging szerverhez, és ugyanez a blok érvényes, mert az AnyBucket pontosan úgy adja át a nevet az ssh programnak, ahogy a Terminal tenné.
Szerver elérése jump hoston keresztül
Sok szerver csak egy bástyagépen, más néven jump hoston keresztül érhető el. A Terminalban egyszeri alkalomra az ssh -J bastion app parancsot írnád. Hogy tartós legyen, használd a ProxyJump beállítást:
Host bastion
HostName bastion.example.com
User me
Host app
HostName 10.0.1.20
User deploy
ProxyJump bastion
Próbáld ki a Terminalban az ssh app paranccsal. Ha bejelentkezik, kapcsold az AnyBucketet SFTP-n az app géphez: a kapcsolat magától a bástyagépen át megy, az appban semmi mást nem kell beállítanod. Több ugrás ugyanígy fűzhető össze, a ProxyJump után vesszővel elválasztott listával.
Gépkulcsok: „még nem ismert” vagy „megváltozott”
Amikor először kapcsolódsz egy szerverhez, a kulcsa még nincs a ~/.ssh/known_hosts fájlban, ezért az AnyBucket a Terminalhoz hasonlóan rákérdez, mielőtt megbízna benne. Vesd össze az ujjlenyomatot azzal, amelyet a szerver rendszergazdája közzétett.
Ha az AnyBucket azt jelzi, hogy egy kulcs megváltozott, állj meg, és derítsd ki, miért. Egy szerver újraépítése vagy újratelepítése után új kulcs várható. Ellenkező esetben ne kapcsolódj: a megváltozott kulcs azt is jelentheti, hogy nem azzal a szerverrel beszélsz, amelyikre gondolsz. Bővebben a hibaelhárításban.
Ha nem működik
- Először próbáld a Terminalban pontosan azzal a gépnévvel, amelyet az AnyBucketben használsz:
ssh staging. Ha ez sem sikerül, a hiba az SSH-beállításokban van, nem az appban. - Add hozzá a
-vkapcsolót (ssh -v staging), hogy lásd, mely kulcsokat és konfigurációs sorokat próbálja azssh. - Ellenőrizd az ügynököt az
ssh-add -lparanccsal: felsorolja az ügynökben lévő kulcsokat. - Ellenőrizd a jogosultságokat: az
sshelutasítja azokat a privát kulcsokat, amelyeket más felhasználók is olvashatnak. Ezt achmod 600 ~/.ssh/id_ed25519megoldja.
Még mindig elakadtál? Lásd: nem működnek az SFTP-kulcsok vagy a jump hostok, vagy írj a támogatásnak, mit mutat az ssh -v, a privát adatok nélkül.