SSH – hurtig introduktion til hvordan du kommer i gang

Da jeg første gang skulle bruge SSH for alvor, så kunne jeg godt se der var et hul i min viden omkring hvordan det egentlig virkede. Nu sorterer jeg det mere tekniske fra, og går direkte til hvordan det bruges

SSH benyttes efterhånden til mange ting, Github, Azure, AWS, til at logge på en Linux server osv. Først skal der oprettes en SSH nøgle for dig som bruger. Jeg er selv primært Windows bruger, men det er det samme på Linux. Start din en terminal, Powershell eller en dos prompt. Og skriv:
ssh-keygen

Så starter en guide til hvor du kan lave en nøglefil. Vælger du ikke nærmere så gemmes den i Windows under “c:\users\brugernavn\.ssh\id_rsa” I samme folder finder du en id_rsa.pub fil, som er en public key. Denne deler du ud til de steder du gerne vil logge på, mens du sørger for ikke at dele id_rsa filen med andre. Det står dig frit for at kalde nøglen noget andet end id_rsa, og har du brug for flere nøgler, så skal du finde på flere navne.

Hvad er “passphrase” – Det er om du vil bruge nøglen med eller uden password. Har du et ønske om at slippe for at huske passwords, så lad den forblive tom. Det er bare ekstra vigtigt at du passer på nøglefilen. Vælger du passphrase, så er det et password der tastes ind hver gang du benytter nøglen.

Hvis du vil have en anden type nøgle, ellers f.eks. med højere antal bits, så kan det gøres med:

ssh-keyget -t -b 4096

Når jeg gerne vil logge på f.eks. en Linux server, så kan jeg kopiere id_rsa.pub filen over på serveren, og tilføje indholdet til “~/.ssh/authorized_keys” filen. Hvis du har flyttet filen til ~/.ssh/ mappen, kør “cat id_rsa.pub >> authorized_keys” genstart serveren eller genstart ssh delen “sudo systemctl restart ssh“.

På din pc skriver du følgende for at logge på
ssh – i c:\sti-til-nøglen” brugernavn-til-server@ip-navn-eller-fqdn-på-server

Eksempel:
Du har gemt nøglen i: c:\minssh\
Nøglen hedder: min_rsa
Serveren du vil på hedder: linuxsrv01
Din bruger på serveren hedder: frederik
Så skriver du følgende:

ssh -i “c:\minssh\min_rsa” frederik@linuxsrv01

Du skal så sige ja til key fingerprint og herefter kan du komme på uden at skulle skrive dit password.

Visual Studio Code – Docker – SSH

Nu bruger jeg selv Docker til en række ting, og er stadig imponeret over hvor fantastisk det er. Der er bare et eller andet over at skrive en lille docker compose fil og køre docker compose up -d og så ellers se at der bliver hentet filer og lynhurtigt er der en nyt miljø kørende.

Det fungerer fint med SSH uden andet end terminalen. Der er dog et par smarte ting VS Code giver en når der f.eks. arbejdes med Docker. Det kræver at der installeres Docker og Remote SSH i VS Code.

Det giver en et nemt overblik over kørende containere, images og de øvrige ting du kan se i enten Docker desktop, Portainer eller lign. Bare direkte fra dit arbejdsvindue – VS Code. For at komme så langt, så skal der laves en config fil i .ssh mappen hvis du ikke allerede har en. Der skal bare være tre linjer i filen så er du kørende. Hvis vi tager samme eksempel som tidligere.

Host linuxsrv01
User frederik
IdentityFile c:\minssh\min_rsa

Disse 3 linjer tilføjes i config filen i c:\users\brugernavn\.ssh\config

I VS Code vælges Remote Explorer – Skift til SSH targets og vælg linuxsrv01 filen og følg anvisningen på skærmen og så er det kørende.