Ce rol are un server intermediar
Un server intermediar, numit și bastion, este un server pe care îl poți accesa direct și care poate accesa serverele tale interne. Doar portul SSH al bastionului este expus; serverele interne acceptă SSH numai din rețeaua internă. Cu ProxyJump, clientul deschide o conexiune SSH către bastion și o a doua conexiune, criptată între capete, care trece prin acesta până la serverul țintă. Bastionul transmite traficul mai departe, dar nu vede conținutul sesiunii, iar cheia ta privată rămâne pe calculatorul tău.
Conectează-te din linia de comandă
Opțiunea -J specifică serverul intermediar. Separă mai multe salturi prin virgule; sunt utilizate în ordinea indicată. Adaugă setările în ~/.ssh/config dacă folosești regulat aceeași rută, astfel încât să fie suficient un alias scurt.
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.exampleVerifică fiecare cheie a gazdei
Fiecare salt reprezintă un server SSH separat, cu propria cheie a gazdei, așa că verifică amprentele cheilor bastionului și serverului țintă printr-un alt canal de încredere. O cheie modificată la oricare dintre salturi merită aceeași atenție ca în cazul unei conexiuni directe. Compară amprenta prezentată la prima conectare cu valoarea citită de un administrator pe server.
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256Preferă ProxyJump în locul redirecționării agentului
Redirecționarea agentului (ssh -A) permite oricui are drepturi suficiente pe bastion să folosească cheile tale încărcate cât timp ești conectat. ProxyJump nu are nevoie de aceasta, deoarece autentificarea pe serverul țintă se face de pe calculatorul tău. Evită și stocarea cheilor private pe bastion și limitează cine se poate autentifica acolo.
Probleme frecvente
Mai întâi identifică saltul la care apare problema: conectează-te doar la bastion, apoi rulează ssh -vvv cu -J pentru a vedea unde se oprește conexiunea. Dacă bastionul funcționează, dar serverul țintă nu, cauza este de obicei un firewall între ele, un nume intern greșit sau un server țintă care nu acceptă cheia ta. Un server configurat cu AllowTcpForwarding no refuză să funcționeze ca server intermediar.
Servere intermediare în CH-J Server Manager
Alpha 0.1.1 se conectează printr-un server intermediar salvat sau introdus manual, iar serverele salvate pot forma un lanț de până la trei servere intermediare. Cheia gazdei este verificată la fiecare salt. Monitorul de disponibilitate verifică un server aflat în spatele unui server intermediar doar printr-o sesiune deschisă către acel server intermediar; altfel afișează serverul ca neverificat, niciodată ca online. Beta 0.1.0 nu are această funcție.