Oregon 2024. november 12.

SSH belső hálózati gépekre különböző ssh kulcsokkal

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 a jumpserver-t ugró szerverként a ProxyJump 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.