SSH er en fantastisk teknologi; Du kan bruge den til at skjule VPN-trafik med den, sikre dig forbindelse til websteder og meget mere. Det eneste problem er, hver gang du forsøger at logge ind på en ekstern maskine, skal du indtaste dit kodeord, og det kan være kedeligt. Hvis du er en udvikler, der søger at oprette forbindelse til en masse maskiner via SSH på en gang med et Bash-script, eller bare en, der bruger Secure Shell og er syg for at indtaste adgangskoder, er der en løsning: passwordless SSH. Denne proces indebærer at generere en sikker SSH-nøgle på værtsmaskinen og dele den som en måde at få adgang til pc'en. Dette gør det muligt for alle med nøglen at logge ind, selvom de ikke kender adgangskoden. Sådan får du det i gang.
Hvad er SSH-nøgler?
En SSH-nøgle er en unik identifikationsfil, der bruges sammen med Secure Shell. Formålet med disse nøgler er at give brugeren en unik identitet og markere dem som "betroede", når de logger ind. Disse nøgler er mere end filer, der beviser identitetsidentitet. Faktisk tillader SSH brugere at logge ind med en nøgle snarere end et kodeord. Betydning, i stedet for at blive tvunget til at indtaste et kodeord hver gang du logger ind over SSH, bruger du SSH-tasten.
SSH-nøglen er placeret et sted sikkert på din Linux-installation, og derfra kan du logge ind på fjernmaskinen så meget som du vil uden et kodeord.
Genererer sikre SSH-nøgler
At generere en sikker SSH-nøgle kræver først, at SSH er i gang. Forstå, at dette ikke nødvendigvis betyder, at du skal have en SSH-server. Bare at de grundlæggende SSH-værktøjer og teknologier kører på din Linux-pc. Ikke sikker på, hvordan man opretter SSH? Følg vores vejledning om det her.
Altid generere SSH nøglerne på systemet hosting SSH serveren. Forsøg ikke at generere dem på serveren, der ikke er vært for en SSH-session, og kopiere den til SSH-værtsmaskinen. Det virker ikke.
For at starte nøglegenereringsprocessen skal du åbne en terminal. Kør ind i terminalvinduet:
ssh-keygen -t rsa
Løb ssh- keygen vil udskrive "Generering af offentlige / private rsa nøglepar". Dette betyder, at systemet genererer både en offentlig nøgle og en privat nøgle til brug. Offentlige nøgler er dem, som nogen kan bruge, og du skal være i orden med at give ud. En privat nøgle er derimod noget, du aldrig bør dele med nogen. Dermed navnet "privat".

Nøglerne gemmer sig selv på /hjem / brugernavn /.ssh / id_rsa.
Bemærk: Slet ikke det ~ /.Ssh mappe, da den indeholder dine nøgler. Hvis du manipulerer med denne mappe på nogen måde, og derefter forsøger at logge ind på denne maskine eksternt, vil SSH-prompten mislykkes. Det vil også udskrive en advarsel og låse dig ud.
SSH Keys On Remote Machine
Nu, hvor SSH-nøglerne (både offentlige og private) er oprettet og klar til brug, skal du kopiere dem til det system, du søger for at logge ind fra. Det er vigtigt, at du gentager denne proces på alle de maskiner, du planlægger at logge ind over SSH. Ellers skal de, der ikke har nøglen, logge ind ved hjælp af kodeordmetoden.
Følg dette eksempel for at tilføje tasterne til fjernsystemet. Sørg for at du gør dette fra værtsmaskinen over SSH.
ssh brugernavn @ remote-vært-navn mkdir -p.ssh
Hvis du kører denne ssh-kommando, oprettes en skjult ~ /.Ssh mappe på fjernmaskineens hjemmekatalog (med den bruger, der blev brugt til at logge ind). Denne mappe er vigtig, da vi her vil kopiere de nyligt genererede SSH-nøglefiler.
For at kopiere SSH-nøglefilerne over, kør endnu en kommando fra SSH-værtsmaskinen til den eksterne maskine, der har brug for tasterne:
cat.ssh / id_rsa.pub | ssh brugernavn @ fjernbetjeningsnavn 'cat >>.ssh / authorized_keys'
Kopiering vil tage et par sekunder afhængigt af netværkshastigheden. Når den er færdig, vil den eksterne pc have de genererede nøgler, og vil kunne logge ind på SSH vært pc uden et kodeord.
Sikkerhedskopiering af SSH-nøgler
SSH nøgler er nyttige ting, og hver enkelt er unik. Det er på grund af dette at bakke dem op er det bedste handlingsforløb. Problemet er, at hvis du gemmer det andetsteds, kan nogen finde din SSH-nøgle, holde den og bruge den til sig selv. Så spørgsmålet er, hvad er en god måde at sikkerhedskopiere en SSH-nøgle sikkert på? Kryptering.
Den hurtigste, mest effektive (og nemmeste måde) at kryptere er at bruge GnuPG. Værktøjet selv er indbygget i de fleste krypteringsværktøjer, der allerede findes på Linux, og er go-to når krypteringsfilerne er hentet op. For at installere GnuPG skal du åbne en terminal og søge i pakkehåndtering til "gpg". Programmet skal være nemt at finde, selv på meget uklare Linux-distributioner.

Når GPG er i gang, start krypteringsprocessen ved at komprimere din ~ /.Ssh mappe i tar arkivfil. Hvis du gør dette, bliver det så, at det ikke er nødvendigt at kryptere hver enkelt fil i filen ~ /.Ssh folder.
tjære -czvf ssh-stuff.tar.gz /home/username/.ssh
Når komprimeringen er færdig, skal du starte krypteringsprocessen.

Bemærk: Kør før du krypterer gpg i terminalen for at generere en ny nøglering.
gpg -c ssh-stuff.tar.gz
Når krypteringsprocessen er færdig, vil GnuPG udsætte en fil med etiketten " ssh- stuff.tar.gz.gpg ”. Du er velkommen til at slette den originale, ulåste version af filen. For at dekryptere dit backuparkiv skal du gøre følgende:
gpg ssh-stuff.tar.gz.gpg