Introduksjon
Hensikt
Bruk
Introduksjon
SSH, også kjent som Secure Shell, kan brukes til mye mer enn å skaffe et eksternt skall. Denne artikkelen vil demonstrere hvordan SSH kan brukes til portvideresending og proxy.
De eneste forutsetningene er en OpenSSH-server (installert som standard på Vultr Linux-bilder) og en OpenSSH-klient (tilgjengelig på Linux, BSD og MS Windows.)
Hensikt
En SSH-proxy brukes hovedsakelig til proxy-netttrafikk. Den kan for eksempel brukes til å sikre nettrafikken din mot et utrygt lokalt nettverk.
SSH-portvideresending brukes ofte for å få tilgang til tjenester som ikke er offentlig tilgjengelige. For eksempel kan du ha et systemadministrasjonsnettgrensesnitt som kjører på serveren din, for eksempel Webmin, men bare lytter etter tilkoblinger på localhost av sikkerhetsgrunner. I så fall kan du bruke SSH til å videresende tilkoblinger på en valgt port fra din lokale maskin til porten der tjenesten lytter på serversiden, og dermed gi deg ekstern tilgang til denne spesielle tjenesten gjennom SSH-tunnelen. Et annet vanlig scenario der SSH-portvideresending brukes, er tilgang til tjenester på et eksternt privat nettverk gjennom en SSH-tunnel til en vert på det private nettverket.
Bruk
Både proxy og portvideresending krever ingen spesiell konfigurasjon på serveren din. Bruk av nøkkelbasert autentisering anbefales imidlertid alltid med SSH. Vennligst les Hvordan genererer jeg SSH-nøkler.
SSH proxy
Å lage en SSH-proxy er veldig enkelt, den generelle syntaksen er som følger:
ssh -D [bind-address]:[port] [username]@[server]
Hvor [bind-address]er den lokale adressen å lytte på, [port]er den lokale porten å lytte på, [username]er brukernavnet ditt på serveren, og [server]er IP-adressen eller vertsnavnet til serveren. Hvis [bind-address]det ikke er spesifisert, vil SSH standard localhostsom er ønskelig i de fleste tilfeller.
Her er et praktisk eksempel:
ssh -D 8080 root@your_server
For å bruke denne proxyen, må du konfigurere nettleseren din til å bruke SOCKSv5som proxy-type og 8080som proxy-port.
SSH portvideresending
Den generelle syntaksen til kommandoen er følgende:
ssh -L [localport]:[remotehost]:[remoteport] [username]@[server]
Hvor [localport]er porten som SSH-klienten vil lytte til, [remotehost]er IP-adressen til verten som forbindelsene skal videresendes til. Dette ville være 127.0.0.1hvis du tunnelerer tilkoblinger til serveren din. Til slutt [remoteport]er portnummeret på serveren som brukes av tjenesten du kobler til.
Eksempel 1:
Vurder å ha en viktig nettjeneste som kjører på porten 10000på serveren din, men den er ikke offentlig tilgjengelig. Følgende kommando vil bli brukt til å etablere en SSH-tunnel til den tjenesten.
ssh -L 80:127.0.0.1:10000 root@your_server
Du vil nå kunne koble til ved å skrive http://127.0.0.1i din lokale nettleser.
Eksempel 2:
Du har to Vultr-servere på et privat nettverk. Den ene kjører en Linux-distribusjon, den andre kjører MS Windows. På Windows-forekomsten kjører en RDP-server, men er ikke utsatt for internett av sikkerhetsgrunner. Forutsatt at det 192.168.1.5er den private IP-adressen til Windows-maskinen, kan du bruke følgende kommando for å koble til Remote Desktop-serveren via en port på datamaskinen din:
ssh -L 3389:192.168.1.5:3389 root@your_server
Enhver RDP-tilkobling fra datamaskinen til seg selv vil nå bli tunnelert gjennom Linux-serveren til Windows-serveren.