Den primære måten å koble til en Linux-server på er gjennom SSH-protokoll. Denne typen tilkobling er sikker, fordi all data som overføres gjennom den er kryptert. I rekkefølge til opprette SSH-forbindelse du bør konfigurere den på den eksterne serveren du vil koble til, og klienten på brukerens side. Det er massevis av programvare for SSH-tilkobling. Når det gjelder Linux, er OpenSSH-pakken den mest populære, og for Windows bruker folk for det meste PuTTY.
La oss se nærmere på serverkonfigurasjon med Ubuntu Server 18.04 som eksempel, og deretter prøve å koble til serveren fra Linux og Windows.
Alt vi gjør vil være fra en vanlig brukers konto. I dette tilfellet opprettet vi en bruker "Michael"Og"root"-kontoen er deaktivert som standard.
Oppsett på serversiden
Sett opp pakken som kjører denne kommandoen:
sudo apt install openssh-server
Etter at installasjonen er fullført, sørg for at tjenesten kjører. Bruk denne kommandoen:
systemctl status sshd
Status "Aktiv (løpende)” betyr at tjenesten er aktivert og fungerer normalt.
For å unngå blokkering av innkommende tilkoblinger av brannmuren, sørg for at du deaktiverer den, fordi vi ikke kommer til å konfigurere nettverksbrannmuren i denne artikkelen.
Bruk denne kommandoen:
sudo ufw disable
På dette stadiet kan du allerede koble til serveren. Med standardinnstillinger tillater serveren tilkobling til standardport 22 med passordbasert autentisering.
SSH-tilkobling fra Linux
Som regel er OpenSSH-klienten installert på Linux som standard og krever ikke ytterligere manuell konfigurasjon. Tilkobling kan opprettes fra terminal ved hjelp av ssh-kommandoen. Parametere i dette tilfellet vil være brukernavnet og IP-adressen til den eksterne serveren. På testserveren vår som vi bruker som eksempel er det bare én konto "mihail", så vi bruker denne.
ssh [email protected]
Ved den første tilkoblingen må du bekrefte tillegg av serverens offentlige nøkkel til databasen, så svar "ja". Etter det kan du skrive inn passordet. Hvis tilkoblingen er vellykket, vil du se en velkomsttekst på serverens kommandolinje. Nå vil alle kommandoene bli utført rett på den eksterne serveren.
SSH fra Windows
Åpne Putty og angi tilkoblingsparametere. Pass på at bryteren "Tilkoblingstype” blir vendt til SSH. Skriv inn IP-adressen i "Vertsnavn”-feltet, standardverdi 22 inn i “Havn"Og klikk"Open".
Ved første tilkobling putty vil be deg bekrefte at du stoler på denne serveren, så klikk på "Ja"
Etter at du har skrevet inn pålogging og passord, vil du se kommandolinjen til den eksterne serveren.
Autentisering med nøkkel. Økende sikkerhetsnivå
Når en klient prøver å etablere sikker tilkobling til serveren gjennom SSH, før den tillater tilkoblingen serveren krever for å autentisere (verifisere) klienten. Som nevnt før, brukes vanligvis passordbasert autentisering som standard. Det gir ikke robust sikkerhet, fordi det alltid er en måte å bruteforce den på. Dessuten er passordautentisering ikke aktuelt for SSH-tilkoblinger med bruk av skript.
For denne typen oppgaver er det en spesiell autentiseringsmetode med nøkkel. Poenget er at klienten genererer private og offentlige nøkler og deretter sendes offentlig nøkkel til serveren. Etter det trenger du ikke passord for å koble til serveren, fordi autentisering utføres basert på offentlige og private klientnøkler. For å gi et godt sikkerhetsnivå bør tilgangen til den private nøkkelen begrenses. På grunn av det faktum at den private nøkkelen er lagret på klientens side og ikke overføres gjennom nettverket, antas denne metoden å være sikrere.
Autentisering med nøkkel på Linux
La oss generere offentlige og private nøkler på klienten ved hjelp av ssh-keygen-programvare. Verktøyet vil foreslå å endre banen til den private nøkkelen og angi en passordfrase for ekstra sikkerhet. La alle parameterne være som standard ved å trykke Enter ved alle forespørsler.
Som et resultat vil du i hjemmekatalogen i .ssh-mappen finne to filer generert: id_rsa og id_rsa.pub som inneholder private og offentlige nøkler tilsvarende.
Etter det må du sende den offentlige nøkkelen til serveren. For å gjøre det, kopier innholdet i "id_rsa.pub"fil i "~/.ssh/authorized_keys" fil på serveren. La oss gå den enkleste veien ved hjelp av "ssh-copy-id” verktøy. Skriv inn pålogging og IP-adresse til serveren, akkurat som i tilfelle med vanlig tilkobling. Etter at du har skrevet inn passord, vil den offentlige nøkkelen til klienten automatisk kopieres til serveren. Kjør denne kommandoen:
ssh-copy-id [email protected]
Etter at du har gjort alt dette, trenger ikke serveren å skrive inn passord lenger.
Autentisering med nøkkel på Windows
Open PUTTYGEN og klikk "GenerereFor å generere nøklene trenger du bare å flytte musen over skjermen og verktøyet vil generere nøklene tilfeldig.
Etter at nøklene er generert, klikker du på "Lagre privat nøkkel” og lagre den til filen med privat nøkkel på disken din. Du kan angi hvilken bane du vil, men litt senere må du spesifisere den i Putty. Kopier deretter den offentlige nøkkelen fra toppen av vinduet.
La oss sende den offentlige nøkkelen ved å kopiere den til terminalen. Åpne putty og koble til serveren som vanlig. La oss nå lage ".ssh/authorized_keys” og begrense de andre brukerne fra å få tilgang til filen, slik at den kun er tilgjengelig for skaperen.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Etter å ha opprettet filen, legg klientens offentlige nøkkel i den. På forrige trinn kopierte vi offentlig nøkkel til utklippstavlen. For å registrere hva som er på utklippstavlen til filen, bruk cat-kommando og utdataomdirigering.
cat > .ssh/authorized_keys
Etter at du har skrevet inn kommandoen, klikker du på høyre museknapp i terminalvinduet og limer inn det som er på utklippstavlen. For å bekrefte inntastingen, trykk "Ctrl + D” snarvei og koble fra serveren.
La oss nå spesifisere banen til den private nøkkelen i Putty og koble til serveren igjen.
Fra nå av trenger du bare å skrive inn brukernavn for å koble til serveren. Hvis du prøver å koble til serveren fra en annen enhet som ikke har den riktige private nøkkelen, vil serveren be om passord. Etter at nøkkelbasert autentisering er satt opp, kan du nekte tilgang med passord.