Hopp til hovedinnhold

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
Robert Kristoffersen
Fullstack-utvikler • Webno