Ahhoz, hogy belső hálózati eszközhöz SSH-n tudj csatlakozni, kell egy jump szerver. Amennyiben csak simán egy közvetlen paranccsal kívánsz csatlakozni, akkor elég lenne ennyit megadnod:
ssh -J jumpserver targetserver
Jóval kényelmesebb lenne, ha nem kellene mindig megadni a jumpservert, hanem ezt tudná az SSH. Ráadásul az is fontos lehet, hogy különböző SSH kulcsot használhass.
Az alábbi beállításokkal különböző kulcsokat állíthatsz be a jump (ugró) szerverhez és a célszerverhez a ~/.ssh/config
fájlban. Itt megadhatod, melyik kulcsot használja az SSH a különböző szerverekhez.
Példa konfiguráció:
Nyisd meg vagy hozd létre az ~/.ssh/config
fájlt:
nano ~/.ssh/config
Add hozzá a következő konfigurációt, hogy beállítsd a kulcsokat és a ProxyJump-ot:
Host jumpserver
HostName jumpserver.example.com
User your_jump_user
IdentityFile ~/.ssh/jump_key # Kulcs az ugró szerverhez
Host targetserver
HostName targetserver.example.com
User your_target_user
IdentityFile ~/.ssh/target_key # Kulcs a célszerverhez
ProxyJump jumpserver
Ebben a konfigurációban:
- A
jumpserver
blokk beállítja a jump szerverhez való kapcsolatot egy meghatározott kulccsal (~/.ssh/jump_key
). - A
targetserver
blokk a célszerverhez csatlakozik, egy másik kulccsal (~/.ssh/target_key
), és használja ajumpserver
-t ugró szerverként aProxyJump
segítségével.
Ezzel a beállítással, ha SSH-t indítasz a célszerverhez, a rendszer automatikusan az ugró szerveren keresztül csatlakozik, és mindkét szerverhez a megfelelő kulcsot fogja használni.
Célszerű megadni a usert például olyankor, amikor más felhasználó pl root (sudo) fogja használni a kapcsolatot. Ilyen lehet például az is, amikor rsync-kel szeretném adatokat küldeni kívülről, jump szerveren keresztül egy belső hálózati gépre.