Secure Shell eller SSH er en velkendt open source-netværksprotokol. Protokollen bruges til at logge på andre maskiner eksternt. Derfor ville det være let at udføre en masse kommandoer og starte ethvert program på den eksterne enhed problemfrit uden behov for at være i nærheden af den eksterne maskine. Derudover er SSH-protokollen meget pålidelig og sikker. Brugere er altid afhængige af SSH-protokollen for at kopiere filer mellem to forskellige enheder.
For at oprette en SSH-forbindelse med den eksterne maskine skal du generelt indtaste brugernavnet og adgangskoden til den eksterne maskine. Men hvad nu hvis du har brug for en mere sikker metode end at bruge brugernavnet og adgangskoden i hvert login? Dette kunne gøres ved hjælp af en SSH-nøgle genereret fra klientmaskinen og derefter kopieret til fjernmaskinen. Med ekstra små konfigurationer vil du være i stand til sikkert at logge ind på den eksterne maskine uden at bruge et brugernavn og en adgangskode hver gang. Brug af en SSH-nøgle i stedet for at bruge brugernavnet og adgangskoden i hvert login er meget mere sikkert; kun den maskine, der har den rigtige SSH-nøgle, kan hurtigt logge på.
I dag skal vi vise dig, hvordan du opretter en SSH-forbindelse uden behov for at indtaste adgangskoden til den eksterne maskine. Brug af et adgangskodeløst login kan typisk bruges til hurtigt at overføre filer mellem forskellige maskiner. Men inden vi begynder vores tutorial, lad os se på vores miljø.
Forberedelse af miljøet
Det ville være bedst, hvis du havde to maskiner, klienten og fjernmaskinerne. Næsten alt arbejdet udføres fra klientmaskinen, der skal bruges til at oprette forbindelse til den eksterne enhed. Begge enheder er Ubuntu med følgende IP'er
- Det klient maskinen har en IP 192.168.1.20 med brugernavn tuts.
- Det fjern maskinen har en IP 192.168.1.30 med et brugernavn hendadel.
En ting mere inden du starter, skal du sørge for, at begge maskiner er opdaterede ved hjælp af følgende kommandoer:
sudo apt opdatering sudo apt opgradering
Lad os nu starte vores guide.
Opsætning af adgangskodeløs SSH-login
Trin 1. Fra klientmaskinen skal du sørge for, om der er genereret en SSH-nøgle, inden du bruger den næste kommando.
ls -al ~ /.ssh / id_ *.pub
Som du kan bemærke, hvis du ikke tidligere har genereret en SSH-nøgle, får du meddelelsen "Ingen sådan fil eller bibliotek". Ellers får du hurtigt de tilgængelige nøgler, hvis de findes.
Trin 2. Da du ikke tidligere har genereret SSH-nøgler, er det tid til at generere en ny SSH-nøgle ved hjælp af følgende kommando:
ssh-keygen -t rsa -b 4096
Den foregående kommando genererer typisk nye to SSH-nøgler i to forskellige filer. Begge filer er gemt i en skjult mappe med navnet “.ssh ”under den aktuelle brugerhjemmekatalog. Du kan finde en privat nøgle, der er gemt i en fil med navnet id_dsa og en anden offentlig nøgle i en fil med navnet id_dsa.pub. Derudover bliver du bedt om at tilføje en adgangssætning, der bruges til at beskytte de genererede nøgler, og du kan bruge den, mens du opretter forbindelse via SSH. Men du kan trykke på “Gå ind”-Knappen for ikke at bruge en.
Trin 3. Nu kan du liste indholdet af .ssh-katalog for at sikre, at begge nøgler oprettes.
ls -l / hjem / tuts /.ssh /
Trin 4. Du kan også sikre dig, at filen har en nøgle inde i den ved hjælp af følgende kommando:
ssh-keygen -lv
Trin 5. For at få vist indholdet af den offentlige nøglefil.
kat .ssh / id_rsa.pub
Trin 6. Kontroller nu, at du har installeret SSH fra den eksterne maskine. Hvis den ikke er installeret, kan du bruge følgende kommando.
sudo apt installer ssh
Trin 7. Tilbage til klientmaskinen, opret forbindelse til den eksterne maskine, og opret en ny mappe med navnet .ssh.
sudo ssh remote_machine_username @ remote_machine_IP mkdir -p .ssh
Sørg for at erstatte remote_machine_username med rigtigt brugernavn og remote_machine_IP med remote IP.
Trin 8. Lad os derefter kopiere den offentlige SSH-nøgle, der tidligere er genereret fra klientmaskinen, til fjernmaskinen. Det ville hjælpe, hvis du klistrede den offentlige nøgle til en fil med navnet “Autoriserede_taster”. Det anbefales stærkt ikke at ændre filnavnet, for når du skal oprette en SSH-forbindelse, er den første fil, som operativsystemet kontrollerer, “Autoriserede_taster” fil. Hvis systemet ikke fandt filen, bliver du bedt om at indtaste et brugernavn og en adgangskode for at kunne logge ind på den eksterne maskine.
sudo kat .ssh / id_rsa.pub | ssh remote_machine_username @ remote_machine_IP 'kat >> .ssh / autoriserede_taster '
Trin 9. Fra den eksterne maskine skal du sikre dig, at den offentlige nøgle blev kopieret med navnet autoriserede_taster.
ls .ssh / kat .ssh / autoriserede_taster
Trin 10. Lad os nu prøve at oprette en SSH-forbindelse uden brugernavn og adgangskode fra klientmaskinen.
ssh remote_machine_username @ remote_machine_IP
Som du bemærker, bliver du ikke bedt om at indtaste et brugernavn eller en adgangskode.
Deaktiver godkendelse af adgangskode
For at deaktivere adgangskodegodkendelse ved hjælp af den offentlige nøgle skal du først redigere SSH-konfigurationsfilen fra den eksterne maskine og deaktivere adgangskodegodkendelsesindstillingen. Nedenfor er trinene til at gøre det.
Trin 1. Fra fjernmaskinen skal du åbne ssh-konfigurationsfilen ved hjælp af din yndlingseditor.
vi / etc / ssh / sshd_config
Trin 2. Rul til slutningen af SSH-konfigurationsfilen, og tilføj de næste par linjer for at deaktivere adgangskodegodkendelse:
RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no UsePAM no ChallengeResponseAuthentication no
Trin 3. Gem og afslut din fil.
Trin 4. Til sidst skal du genstarte SSH-tjenesten og prøve at oprette en ny forbindelse fra klientmaskinen til fjernmaskinen igen.
Det er det! Du har lige lært, hvordan du opretter en SSH-forbindelse uden adgangskode. Jeg håber, du havde nydt det.