Den primære måde at oprette forbindelse til en Linux-server på er via SSH-protokollen . Denne type forbindelse er sikker, fordi alle data, der overføres via den, er krypteret. For at etablere en SSH-forbindelse skal du konfigurere den på den eksterne server, du vil oprette forbindelse til, og klienten på brugerens side. Der findes masser af software til SSH-forbindelse. For Linux er OpenSSH-pakken den mest populære, og til Windows bruger folk oftest PuTTY.
Lad os se nærmere på serverkonfigurationen ved at bruge Ubuntu Server 18.04 som eksempel, og prøv derefter at oprette forbindelse til serveren fra Linux og Windows.
Alt, hvad vi gør, vil være fra en almindelig brugerkonto. I dette tilfælde oprettede vi brugeren " mihail ", og " root "-kontoen er som standard deaktiveret.
Opsætning på serversiden
Opsæt pakken, der kører denne kommando:
sudo apt install openssh-server
Når installationen er færdig, skal du sørge for, at tjenesten kører. Brug denne kommando:
systemctl status sshd
Status " Aktiv (kører) " betyder, at tjenesten er aktiveret og fungerer normalt.
For at undgå blokering af indgående forbindelser af firewallen, skal du sørge for at deaktivere den, for vi kommer ikke til at konfigurere netværksfirewall i denne artikel.
Brug denne kommando:
sudo ufw disable
På dette tidspunkt kan du allerede oprette forbindelse til serveren. Med standardindstillinger tillader serveren forbindelse til standardport 22 med adgangskodebaseret godkendelse.
SSH-forbindelse fra Linux
Som regel er OpenSSH-klienten installeret på Linux som standard og kræver ikke yderligere manuel konfiguration. Forbindelse kan etableres fra terminal ved hjælp af ssh kommando. Parametre i dette tilfælde ville være brugernavn og IP-adresse på fjernserveren. På vores testserver, som vi bruger som eksempel, er der kun én konto "mihail", så vi bruger denne.
ssh [email protected]
Ved den første forbindelse skal du bekræfte tilføjelsen af serverens offentlige nøgle til databasen, så svar " ja ". Derefter kan du indtaste adgangskoden. Hvis forbindelsen er oprettet, vil du se en velkomsttekst på serverens kommandolinje. Nu vil alle kommandoerne blive udført direkte på den eksterne server.
SSH fra Windows
Åbn Putty og indstil forbindelsesparametrene. Sørg for, at " Forbindelsestype " er indstillet til SSH . Indtast IP-adressen i feltet " Værtsnavn ", standardværdien 22 i " Port ", og klik på " Åbn ".
Ved første forbindelse vil Putty bede dig om at bekræfte, at du har tillid til denne server, så klik på " Ja ".
Når du har indtastet login og adgangskode, vil du se kommandolinjen på fjernserveren.
Godkendelse med nøgle. Øget sikkerhedsniveau
Når en klient forsøger at etablere sikker forbindelse til serveren gennem SSH, før den tillader forbindelsen, skal serveren godkende (verificere) klienten. Som tidligere nævnt bruges adgangskodebaseret godkendelse normalt som standard. Det giver ikke robust sikkerhed, fordi der altid er en måde at bruteforce det på. Desuden er adgangskodegodkendelse ikke relevant for SSH-forbindelser med brug af scripts.
Til denne type opgaver er der en særlig godkendelsesmetode med nøgle. Pointen er, at klienten genererer private og offentlige nøgler, og derefter sendes en offentlig nøgle til serveren. Derefter behøver du ikke adgangskode for at oprette forbindelse til serveren, fordi godkendelse udføres baseret på offentlige og private klientnøgler. For at give et godt sikkerhedsniveau bør adgangen til den private nøgle begrænses. På grund af det faktum, at den private nøgle er gemt på klientens side og ikke overføres gennem netværket, menes denne metode at være mere sikker.
Godkendelse med nøgle på Linux
Lad os generere offentlige og private nøgler på klienten ved hjælp af ssh-keygen hjælpesoftware. Værktøjet vil foreslå at ændre stien til den private nøgle og indtaste en adgangssætning for ekstra sikkerhed. Forlad alle parametre som standard ved at trykke på Enter ved alle anmodninger.
Som følge heraf finder du to genererede filer i hjemmemappen i .ssh-mappen: id_rsa og id_rsa.pub , der indeholder henholdsvis private og offentlige nøgler.
Derefter skal du sende den offentlige nøgle til serveren. For at gøre det skal du kopiere indholdet af filen " id_rsa.pub " til filen " ~/.ssh/authorized_keys " på serveren. Lad os gå den nemmeste vej ved hjælp af værktøjet " ssh-copy-id ". Indtast login og IP-adresse på serveren, ligesom med en almindelig forbindelse. Når du har indtastet adgangskoden, kopieres klientens offentlige nøgle automatisk til serveren. Kør denne kommando:
ssh-copy-id [email protected]
Når du har gjort alt det, kræver serveren ikke længere at indtaste adgangskoden.
Godkendelse med nøgle på Windows
Åbn PUTTYGEN og klik på “ Generer ”. For at generere nøglerne skal du blot bevæge musen hen over skærmen, og værktøjet vil generere nøglerne tilfældigt.
Når nøglerne er genereret, skal du klikke på " Gem privat nøgle " og gemme den i filen med den private nøgle på din disk. Du kan angive en hvilken som helst sti, men lidt senere skal du angive den i Putty. Kopier derefter den offentlige nøgle fra toppen af vinduet.
Lad os sende den offentlige nøgle ved blot at kopiere den til terminalen. Åbn Putty og opret forbindelse til serveren som sædvanligt. Lad os nu oprette " .ssh/authorized_keys " og begrænse andre brugeres adgang til filen, så den kun er tilgængelig for opretteren.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Efter oprettelse af filen skal du lægge klientens offentlige nøgle i den. På det forrige trin kopierede vi den offentlige nøgle til udklipsholderen. For at optage, hvad der er i udklipsholderen til filen, brug cat-kommando og output-omdirigering.
cat > .ssh/authorized_keys
Når du har indtastet kommandoen, skal du højreklikke på museknappen i terminalvinduet og indsætte det, der er i udklipsholderen. For at bekræfte inputtet skal du trykke på genvejstasten “ Ctrl+D ” og afbryde forbindelsen til serveren.
Lad os nu angive stien til den private nøgle i Putty og oprette forbindelse til serveren igen.
Fra nu af behøver du kun at indtaste brugernavn for at oprette forbindelse til serveren. Hvis du forsøger at oprette forbindelse til serveren fra en anden enhed, der ikke har den rigtige private nøgle, vil serveren anmode om adgangskode. Når nøglebaseret godkendelse er konfigureret, kan du afvise adgang med adgangskode.