OpenSSH daemon konfiguration (sshd config) - Hurtig forbindelse m. ssh
Således forbinder du hurtigt og nemt din ssh-klient, ved at lave en sshd-konfiguration.
Last updated
Således forbinder du hurtigt og nemt din ssh-klient, ved at lave en sshd-konfiguration.
Last updated
Flere kender nok til problemstillingen, hvor man vil logge på en enhed via ssh
. Desværre har man glemt ip-adresse, domæne, port - eller måske endda adgangskoden. I f.eks. Debian og Linux Mint (Ubuntu) er det dog muligt at lave din egen konfiguration, hvor du kan angive Hostname
, User
, Port
og f.eks. IdentityFile
.
Følgende kan naturligvis også bruges, hvis man blot har en intension om at spare tid. Der er rigtig mange muligheder, hvis du har lyst til at kigge i den officielle dokumentation.
I filen `~/.ssh/config/ kan du tilføje forbindelser, som du ønsker at forbinde til, lidt hurtigere end normalt.
Strukturen i filen er ret simpel, og en enkelt ting kunne være:
Overstående gør det muligt at forbinde ved blot at skrive ssh docker
, fremfor at skulle skrive ssh myusername@10.0.0.5
. Allerede der har man sparet et par anslag - og man slipper for at huske adressen.
Nedenfor vil jeg gennemgå de enkelte muligheder.
Hvis jeg f.eks. vil forbinde til 10.0.0.10
med brugeren exetico
på port 2222
ved at skrive ssh minserver
, skal filen opstilles således:
Hvis jeg samtidig ønsker f.eks. at lave en LocalForward fra port :8888, til port :8080 på min maskine, jeg forsøger at forbinde fra, kan det gøres således:
Når jeg da har forbundet med ssh minserver
vil kunne gå til http://localhost:8080
(el. http://127.0.0.1:8080) via min klients webbrowser.
Du kan med fordel oprette en tunnel-forbindelse på denne måde, ved at forbinde med ssh -f -N minserver
.
-f
betyder at SSH-sessionen oprettes i baggrunden. -N
betyder at der ikke bliver eksekveret kode på fjern-enheden.
OBS: Bemærk venligst at det kræver root-adgang, hvis man vil sende data til f.eks. port 80, da denne ses som en priviligeret port.
Du kan slippe for at indtaste din adgangskode, ved i stedet at forbinde med en nøgle. På dansk oversættes den bekendte løsning som "autorisering med offentlig nøgle", men du kan bl.a. læse meget mere om dette lige her, ved SSH.com.
Du kan forbinde med en privat, eller en offentlig nøgle. Førstnævnte er beskyttet med en adgangskode.
Først skal du lave en ny nøgle, som efterfølgende kan blive sendt til serveren.
Dette gøres ganske simpelt med ssh-keygen
. Følg de enkelte steps.
Først angives et navn, inkl. evt. sti på hvor nøglen skal gemmes. Herefter indtaster du en ønsket kode, hvis nøglen skal være krypteret - alternativt under du dettee, men da vil sikkerheden være markant ringere, i og med at alle med nøglen, vil kunne logge på din server. Din adgangskode skal være på minimum 5 cifre.
Alt efter hvor du har gemt din key, og hvad den er blevet kaldt, kan du nu sende denne til serveren. I nedenstående eksempel har vi døbt denne min_noegle
Dette gøres med: ssh-copy-id -i ~/.ssh/min_noegle exetico@10.0.0.10
Du kan med fordel også bruge oplysningerne fra din config-fil, hvis du allerede har sat den op: ssh-copy-id -i ~/.ssh/min_noegle minserver
Hvis du har lavet en kopi af din nøgle og flytter denne til en anden klient, efter du har flyttet nøglen til din server, vil du her kunne gøre brug af IdentityFile ved at angive den fulde sti til filen, på den pågældende klient, som f.eks. IdentityFile ~/.ssh/min_noegle minserver
.
OBS: For at kunne bruge nøgler, skal du sikre at dine permissions er korrekte. Mapping skal være 700
, din public-key være 644
, mens din private-key helst skal være 600
. Det er lidt smag og behag med de sidste to. Har du problemer må du gerne stille spørgsmål i kommentar-sporet. Måske vil jeg gennemgå rettigheder en anden dag.
Du kan med fordel f.eks. læse mere her, hvis du skulle have lyst til at høre om flere tips. Har du fået blod på tanken, kan du evt. tage et kig på den officielle dokumentation, hvor der er mange flere tips, muligheder - og forklaring.
Enhed
Beskrivelse
F.eks.
Host
Benyttes som "navn" til din enhed. Det er også muligt angive flere, hvis man f.eks. både vil kunne logge på m. et custom-navn, og f.eks. ip-adressen (som reelt blot er et eksra navn)
minserver
HostName
Her defineres host, som f.eks. IP-adresse, domæne eller et kendt lokalt hostname
10.0.0.10
User
Brugernavnet du vil forbinde med
exetico
Port
Her kan port angives, hvis den ikke er default (22)
2222
IdentityFile
Her kan angives en key, hvis denne ikke blot er id_rsa
(eller anden default-værdi
~/.ssh/id_rsa_ejdefaultvalue
LocalForward
Tillader dig at forwarde en port fra serveren - f.eks. port :80 fra serverem til port :8080 hvor du forbinder fra (klienten)
8080 127.0.0.1:80