Her er en kort guide med kommandoer man må / eller kan bruke for å sette opp en VPS.
Har fulgt video serien til syntax av CJ https://syntax.fm/videos/self-host-101
Koble til en server med ssh
For å koble til serveren trenger du din favoritt terminal, og den offentlige IP adressen til serveren
ssh userName@serverIP
Om du ikke har satt opp SSH key login så vil du blir promptet for passordet. Ved første innlogging vil du få varsel om fingerprint. Dette varslet skal du kun se ved første innlogging, eller så vil det si at noe har forandret seg med serveren eller du er blitt utsatt for man in the middel.
Første handling
Når man har logget seg på en ny server for første gang, og før man gjøre noe som helst annet, må man oppgradere og oppdatere installerte pakker på serveren.
Om man ikke har logget inn med root brukeren så må man starte kommandoene med sudo for å få tilgang.
apt update
For å oppdatere pakke listene på serveren
For å installere / oppgradere pakkene. I noen tilfeller kan må få beskjed om kernal oppdatering. Installer denne og gjenta upgrade kommandoen.
Etter en oppdatering kan det være behov for en restart av serveren. Man kan sjekke behoved med følgende kommando
ls /var/run/reboot-required
Her sjekker man tilstedeværelse av filen reboot-required, eksisterer denne filen så restart serveren. En restart kan gjøres fra leverandørens dashboard (anbefales), eller med reboot kommando i terminalen.
Endre passordet
passwd
Vil starte prosessen med å lage nytt passord
Opprette en "non root user"
Om man er usikker om din nåværende bruker har root privilligier kan man sjekke med følgende kommando der uid=0 er root bruker.
id
Opprett bruker
adduser nameofuser
så legge brukeren til gruppen sudo slik at de kan bruke sudo kommandoer
usermod -aG sudo nameoofuser
Se brukerens grupper
groups nameofuser
Logg inn med SSH key
Sette opp SSH key login
SSH key login er en sikker metode for å logge inn på serveren uten å bruke passord. Følg disse stegene for å sette det opp:
Generere en SSH nøkkel
Benytter 1Password windows appen for å generere SSH nøkkler, på denne måten har jeg sikker lagring av nøkler å unngår å miste dem. Benytter også cli appen for å få tilgang til nøkkler i terminalen
Kopiere nøkkelen til serveren
Bruk ssh-copy-id
for å kopiere den offentlige nøkkelen til serveren:
ssh-copy-id userName@serverIP
Du vil bli bedt om å oppgi passordet for serverbrukeren. Etter dette vil nøkkelen bli lagt til på serveren.
Alternativ metode for å kopiere nøkkelen
Hvis ssh-copy-id
ikke er tilgjengelig, kan du manuelt kopiere nøkkelen. Først, vis innholdet av den offentlige nøkkelen på din lokale maskin:
cat ~/.ssh/id_rsa.pub
Kopier utdataene og lim dem inn i filen ~/.ssh/authorized_keys
på serveren. Du kan bruke følgende kommando for å redigere filen på serveren:
nano ~/.ssh/authorized_keys
Lim inn nøkkelen, lagre og lukk filen.
Teste SSH key login
Logg inn på serveren igjen for å teste at nøkkelen fungerer:
ssh userName@serverIP
Hvis alt er satt opp riktig, vil du ikke bli bedt om passord.
Deaktivere passordautentisering (valgfritt)
For å øke sikkerheten kan du deaktivere passordautentisering. Rediger SSH-konfigurasjonsfilen på serveren:
sudo nano /etc/ssh/sshd_config
Finn linjen som starter med PasswordAuthentication
og endre den til:
PasswordAuthentication no
Start SSH-tjenesten på nytt for å bruke endringene:
sudo systemctl restart ssh
Nå kan du kun logge inn med SSH nøkkel.
Cloud config
Eventuelt for å raskere gjøre dette kan man benytte en cloud.config fil.
CJ i syntax har satt opp dette eksemplet: https://gist.github.com/w3cj/cdd447b1a10ce741e4ee968fa6b75553