SSH multisteg tilkobling (bastion host)
title: SSH multisteg tilkobling (bastion host) description: Multisteg ssh via ProxyJump med bastion host og konfigurasjon tags: [ssh, bastion, proxyjump] authors: [robert]
SSH multisteg tilkobling (bastion host)
Kapittel 11
En bastion host, også kalt en “jump host” eller “gateway”, brukes som et sikkert mellomledd for å koble videre til interne systemer som ikke er direkte tilgjengelige fra internett. Dette er en vanlig løsning i profesjonelle miljøer hvor kun én maskin (bastionen) har åpen SSH-port mot omverdenen, mens resten av serverne kun kan nås via denne.
Dette øker sikkerheten og gir bedre kontroll over hvem som får tilgang til interne servere.
Grunnleggende bruk av multisteg-tilkobling
For å koble deg til en intern server via en bastion-host kan du bruke flagget -J (ProxyJump).
Eksempel
ssh -J bruker@server1 bruker@server2
Forklaring
server1 er bastionen (mellomleddet) du først kobler deg til.
server2 er den endelige maskinen du ønsker tilgang til. SSH oppretter automatisk en tunnel gjennom server1 og kobler deg videre til server2 i én kommando.
Du kan også spesifisere flere mellomledd, for eksempel
ssh -J bruker@server1,bruker@server2 bruker@server3
Dette kobler deg først til server1, deretter via server2, og til slutt til server3.
Bruk av konfigurasjonsfil
I stedet for å skrive lange kommandoer hver gang, kan du sette opp ProxyJump direkte i din personlige SSH-konfigurasjon. Dette gjør tilkoblingene enklere og mer oversiktlige.
Åpne filen
nano /home/username/.ssh/config
Eksempel på oppsett
Host server2
Hostname 10.0.2.40 # adressen til serveren du vil nå
ProxyJump username@server1 # bastion host (mellomleddet)
User username
Forklaring
Host angir navnet du bruker når du kobler deg til.
Hostname er IP eller domenenavn til målet.
ProxyJump peker til bastionen som skal brukes for å nå denne.
User angir brukernavn på målet (valgfritt hvis det er det samme som lokalt).
Når dette er konfigurert, kan du nå koble til bare ved å skrive
ssh server2
Da bruker SSH automatisk bastionen som mellomledd i bakgrunnen.
Fordeler med ProxyJump
Du slipper å logge inn manuelt på bastion først.
Forbindelsen krypteres hele veien fra din maskin til målet.
Brukervennlig – du kan definere flere hopp direkte i konfigurasjonen.
Kompatibelt med nøkkelautentisering og andre innstillinger som Port, IdentityFile, osv.
Tips
ProxyJump erstatter eldre løsninger som ProxyCommand (som brukte netcat eller ssh -W).
Du kan kombinere ProxyJump med nøkkelautentisering og tmux for stabile og sikre økter.
Hvis du bruker flere miljøer (for eksempel dev, staging og prod), kan du lage separate Host-regler i konfigurasjonen for hver.
Sørg for at bastionen er godt sikret – det er det eneste punktet med ekstern tilgang.
Eksempel med flere hopp
Host internal-server
Hostname 10.0.3.25
ProxyJump user@bastion1,user@bastion2
User internaluser
Da kan du koble direkte til internal-server med
ssh internal-server
Høydepunkt - viktige kommandoer
Direkte multisteg tilkobling
ssh -J bruker@bastion bruker@internserver
Flere hopp i samme kommando
ssh -J bruker@bastion1,bruker@bastion2 bruker@internserver
Legge til i config
nano ~/.ssh/config
Eksempel
Host server2
Hostname 10.0.2.40
ProxyJump username@server1
User username
Koble til via config
ssh server2
