Secure Shell eller SSH er en kjent åpen kildekode-nettverksprotokoll. Protokollen brukes til å logge på andre maskiner eksternt. Derfor vil det være enkelt å utføre en rekke kommandoer og starte et hvilket som helst program på den eksterne enheten uten problemer å være i nærheten av den eksterne maskinen. I tillegg er SSH-protokollen veldig pålitelig og sikker. Brukere er alltid avhengige av SSH-protokollen for å kopiere filer mellom to forskjellige enheter.
Generelt, for å opprette en SSH-forbindelse med den eksterne maskinen, må du oppgi brukernavn og passord for den eksterne maskinen. Men hva om du trenger en sikrere metode enn å bruke brukernavn og passord i hver pålogging? Dette kan gjøres ved hjelp av en SSH-nøkkel generert fra klientmaskinen og deretter kopiert til den eksterne maskinen. Med ekstra små konfigurasjoner vil du kunne logge på den eksterne maskinen sikkert uten å bruke brukernavn og passord hver gang. Å bruke en SSH-nøkkel i stedet for å bruke brukernavnet og passordet i hver pålogging er mye sikrere; bare maskinen som har riktig SSH-nøkkel kan raskt logge på.
I dag skal vi vise deg hvordan du oppretter en SSH-forbindelse uten behov for å oppgi det eksterne maskinpassordet. Vanligvis kan bruk av passordløs pålogging brukes til å overføre filer mellom forskjellige maskiner raskt. Men før vi starter opplæringen, la oss ta en titt på miljøet vårt.
Miljøforberedelse
Det ville være best hvis du hadde to maskiner, klienten og eksterne maskiner. Nesten alt arbeidet vil bli gjort fra klientmaskinen som skal brukes til å koble til den eksterne enheten. Begge enhetene er Ubuntu med følgende IP-er
- De klient maskinen har en IP 192.168.1.20 med brukernavn tuts.
- De fjernkontroll maskinen har en IP 192.168.1.30 med brukernavn hendadel.
En ting til før du starter, sørg for at begge maskinene er oppdatert med følgende kommandoer:
sudo apt oppdatering sudo apt oppgradering
La oss nå starte guiden vår.
Sette opp passordløs SSH-pålogging
Trinn 1. Fra klientmaskinen må du sørge for at det genereres en SSH-nøkkel før du bruker neste kommando.
ls -al ~ /.ssh / id_ *.pub
Som du kan merke, hvis du ikke tidligere har generert en SSH-nøkkel, vil du få meldingen "Ingen slik fil eller katalog". Ellers vil du raskt få de tilgjengelige nøklene hvis de eksisterer.
Steg 2. Siden du ikke har generert SSH-nøkler tidligere, er det på tide å generere en ny SSH-nøkkel ved hjelp av følgende kommando:
ssh-keygen -t rsa -b 4096
Vanligvis vil den forrige kommandoen generere nye to SSH-nøkler i to forskjellige filer. Begge filene er lagret i en skjult katalog som heter “.ssh ”under gjeldende brukerhjemmekatalog. Du kan finne en privat nøkkel som er lagret i en fil som heter id_dsa og en annen offentlig nøkkel i en fil som heter id_dsa.pub. I tillegg blir du bedt om å legge til en passordfrase som brukes til å beskytte de genererte nøklene, og du kan bruke den mens du kobler til via SSH. Men du kan trykke på “Tast inn”-Knappen for ikke å bruke en.
Trinn 3. Nå kan du liste opp innholdet i .ssh-katalogen for å sikre at begge tastene er opprettet.
ls -l / hjem / tuts /.ssh /
Trinn 4. Du kan også sørge for at filen har en nøkkel i seg ved å bruke følgende kommando:
ssh-keygen -lv
Trinn 5. For å forhåndsvise innholdet i filen med den offentlige nøkkelen.
katt .ssh / id_rsa.pub
Trinn 6. Forsikre deg om at SSH er installert fra den eksterne maskinen. Hvis den ikke er installert, kan du bruke følgende kommando.
sudo apt installer ssh
Trinn 7. Tilbake til klientmaskinen, koble til den eksterne maskinen, og opprett en ny katalog som heter .ssh.
sudo ssh remote_machine_username @ remote_machine_IP mkdir -p .ssh
Sørg for å erstatte remote_machine_username med ekte brukernavn og remote_machine_IP med remote IP.
Trinn 8. La oss deretter kopiere den offentlige SSH-nøkkelen fra klientmaskinen som ble generert tidligere til den eksterne maskinen. Det vil hjelpe hvis du limer den offentlige nøkkelen til en fil som heter “Autoriserte_taster”. Det anbefales på det sterkeste å ikke endre filnavnet, for når du skal opprette en SSH-tilkobling, er den første filen operativsystemet sjekker, “Autoriserte_taster” fil. Hvis systemet ikke fant filen, blir du bedt om å oppgi et brukernavn og passord for å kunne logge på den eksterne maskinen.
sudo katt .ssh / id_rsa.pub | ssh remote_machine_username @ remote_machine_IP 'cat >> .ssh / autoriserte_taster
Trinn 9. Fra den eksterne maskinen, sørg for at den offentlige nøkkelen ble kopiert med navnet autoriserte_taster.
ls .ssh / katt .ssh / autoriserte_taster
Trinn 10. Nå, fra klientmaskinen, la oss prøve å opprette en SSH-tilkobling uten brukernavn og passord.
ssh remote_machine_username @ remote_machine_IP
Som du kan merke, blir du ikke bedt om å oppgi et brukernavn eller et passord.
Deaktiver passordgodkjenning
For å deaktivere passordgodkjenning ved hjelp av den offentlige nøkkelen, må du først redigere SSH-konfigurasjonsfilen fra den eksterne maskinen og deaktivere passordgodkjenningsalternativet. Nedenfor er trinnene for å gjøre det.
Trinn 1. Fra den eksterne maskinen, åpne ssh-konfigurasjonsfilen ved hjelp av favorittredigereren.
vi / etc / ssh / sshd_config
Steg 2. Bla til slutten av SSH-konfigurasjonsfilen og legg til de neste linjene for å deaktivere passordgodkjenning:
RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no UsePAM no ChallengeResponseAuthentication no
Trinn 3. Lagre og avslutt filen.
Trinn 4. Til slutt starter du SSH-tjenesten på nytt og prøver å opprette en ny forbindelse fra klientmaskinen til den eksterne maskinen igjen.
Det er det! Du har nettopp lært hvordan du oppretter en SSH-forbindelse uten passord. Jeg håper du hadde hatt glede av det.