Kam skirtas tarpinis serveris
Tarpinis serveris, dar vadinamas bastionu, yra serveris, kurį galite pasiekti tiesiogiai ir kuris gali pasiekti jūsų vidinius serverius. Iš išorės pasiekiamas tik bastiono SSH prievadas; vidiniai serveriai priima SSH ryšius tik iš vidinio tinklo. Naudojant ProxyJump, klientas užmezga vieną SSH ryšį su bastionu ir antrą, visame kelyje tarp galinių taškų šifruotą ryšį per jį su tiksliniu serveriu. Bastionas persiunčia srautą, tačiau nemato seanso turinio, o privatus raktas lieka jūsų kompiuteryje.
Prisijunkite iš komandų eilutės
Parinktis -J nurodo tarpinį serverį. Kelis tarpinius serverius atskirkite kableliais; jie naudojami nurodyta tvarka. Jei tuo pačiu maršrutu jungiatės reguliariai, įrašykite nuostatas į ~/.ssh/config, kad pakaktų trumpo alternatyvaus vardo.
ssh -J admin@bastion.example admin@app.internal
ssh -J admin@bastion.example,ops@hop2.example admin@app.internal
# ~/.ssh/config
Host app-internal
HostName app.internal
User admin
ProxyJump admin@bastion.examplePatikrinkite kiekvieno serverio raktą
Kiekvienas maršruto žingsnis yra atskiras SSH serveris su savo serverio raktu, todėl bastiono ir tikslinio serverio raktų kontrolinius atspaudus patvirtinkite kitu patikimu kanalu. Pasikeitus raktui bet kuriame žingsnyje, reikia tokio pat dėmesio kaip ir jungiantis tiesiogiai. Palyginkite pirmojo prisijungimo metu pateiktą kontrolinį atspaudą su reikšme, kurią administratorius perskaito serveryje.
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256Rinkitės ProxyJump, o ne agento persiuntimą
Agento persiuntimas (ssh -A) leidžia kiekvienam, turinčiam pakankamas teises bastione, naudoti jūsų įkeltus raktus, kol esate prisijungę. ProxyJump to nereikia, nes autentifikavimas tiksliniame serveryje atliekamas iš jūsų kompiuterio. Taip pat nelaikykite privačių raktų bastione ir apribokite, kas gali prie jo prisijungti.
Dažnos problemos
Pirmiausia nustatykite, kuriame žingsnyje kyla problema: prisijunkite vien prie bastiono, tada paleiskite ssh -vvv su -J ir pažiūrėkite, kur ryšys nutrūksta. Jei bastionas veikia, o tikslinis serveris ne, priežastis dažniausiai yra tarp jų esanti ugniasienė, neteisingas vidinis vardas arba tai, kad tikslinis serveris nepriima jūsų rakto. Serveris su nuostata AllowTcpForwarding no atsisako veikti kaip tarpinis serveris.
Tarpiniai serveriai programoje CH-J Server Manager
Alpha 0.1.1 jungiasi per išsaugotą arba rankiniu būdu įvestą tarpinį serverį, o išsaugoti serveriai gali sudaryti iki trijų tarpinių serverių grandinę. Serverio raktas tikrinamas kiekviename žingsnyje. Pasiekiamumo stebėjimo priemonė serverį už tarpinio serverio tikrina tik per atvirą seansą su tuo tarpiniu serveriu; kitu atveju serveris rodomas kaip nepatikrintas, niekada kaip pasiekiamas. Beta 0.1.0 šios funkcijos neturi.