Kommandoen ssh-copy-id er et enkelt verktøy som lar deg installere en SSH-nøkkel på en ekstern server autoriserte nøkler. Denne kommandoen letter pålogging av SSH-nøkkel, noe som fjerner behovet for passord for hver pålogging, og dermed sikrer en automatisk passordløs påloggingsprosess. Kommandoen ssh-copy-id er en del av OpenSSH, et verktøy for å utføre eksterne systemadministrasjoner ved hjelp av krypterte SSH-tilkoblinger.
Denne artikkelen viser deg hvordan du bruker ssh-copy-id-verktøyet for å gjøre SSH-pålogginger mer sømløse og sikre.
Slik installerer du kommandoen ssh-copy-id
Verktøyet ssh-copy-id, en del av OpenSSH-pakken, er tilgjengelig i alle større Linux-distribusjonsregister, og du kan bruke pakkeadministratoren din til å installere denne kommandoen.
For å installere ssh-copy-id-verktøyet på Debian, bruk følgende kommando:
sudo apt-get update && sudo apt-get install openssh-clientNår du har OpenSSH installert, kan du bruke ssh-copy-id-verktøyet i kommandolinjen.
$ ssh-copy-idBruk: / usr / bin / ssh-copy-id [-h |-?| -f | -n] [-i [identitetsfil]] [-p-port] [[-o
Å bruke ssh-copy-id er enkelt fordi skriptet gjør godkjenningsprosessen for offentlig nøkkel enklere og mer effektiv. Før vi dykker inn i hvordan du bruker verktøyet, vil vi først diskutere hvordan SSH-autentisering med offentlig nøkkel fungerer.
MERK: Hvis du allerede vet hvordan SSH-godkjenning av offentlig nøkkel fungerer, kan du hoppe over denne delen og dykke dypere inn i hvordan du bruker kommandoen ssh-copy-id umiddelbart.
Autentisering av SSH-nøkkel
Offentlig SSH-nøkkelautentisering er en SSH-autentiseringsmetode som lar brukere bruke kryptografisk genererte nøkler for å logge på eksterne servere.
SSH-nøkler er sikrere enn rå passord og gir en mye mer effektiv måte å logge på SSH på. SSH-nøkler er automatiserte, og når de er godkjent, trenger de ikke passord ved hver pålogging.
For å bruke en SSH-nøkkel, begynner vi med å generere en nøkkel.
Hvordan lage en SSH-nøkkel
For å generere en SSH-nøkkel, bruk ssh-keygen-verktøyet som kommer som en del av OpenSSH. Dette verktøyet genererer offentlige og private nøkkelfiler lagret i ~ /.ssh-katalog, som vist nedenfor.
$ ssh-keygenGenererer offentlig / privat rsa-nøkkelpar.
Skriv inn filen der du vil lagre nøkkelen (/ root /.ssh / id_rsa):
Opprettet katalog '/ root /.ssh '.
Skriv inn passordfrase (tom uten passordfrase):
Skriv inn samme passordfrase igjen:
Identifikasjonen din er lagret i / root /.ssh / id_rsa.
Den offentlige nøkkelen din er lagret i / root /.ssh / id_rsa.pub.
Nøkkelfingeravtrykket er:
SHA256: ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA root @ user Nøkkelens tilfeldige kunstbilde er:
+---[RSA 2048]----+
| o = o |
| o. o |
| .. + .+.|
| . + + o .o |
| S + . . |
|. o ... o o + .|
|.E o +. +. + + |
| o. = o.o+ .o.+... |
|.o… oo = + o = o.+|
+----[SHA256]-----+
Hvordan kopiere SSH-nøkkel ved hjelp av SSH-copy-id
Når vi har generert en SSH-nøkkel, kan vi manuelt legge til SSH-nøkkelen i den eksterne maskinen autoriserte_keys-filen eller bruke kommandoen ssh-copy-id.
Vi vil bruke kommandoen ssh-copy-id for å gjøre denne prosessen enklere. Bare ring ssh-copy-id-kommandoen og send stien til den offentlige nøkkelen, som følger:
$ ssh-copy-id -i ~ /.ssh / id_rsa.pub bruker @ 77.134.54.101 -p 6576Etter å ha skrevet inn kommandoen ovenfor, bør du oppnå følgende utdata:
/ usr / bin / ssh-copy-id: INFO: Kilde til nøkkel (r) som skal installeres: "/ root /.ssh / id_rsa.pub"/ usr / bin / ssh-copy-id: INFO: prøver å logge på med de nye nøkkelen (e), for å filtrere ut alle som allerede er installert
/ usr / bin / ssh-copy-id: INFO: 1 nøkkel (r) gjenstår å installere - hvis du blir bedt om det nå, er det å installere den nye nøkkelen bruker @ 77.134.54.101 passord:
Antall nøkler lagt til: 1 Prøv å logge inn på maskinen med: "ssh -p '6576" [e-postbeskyttet] "" og kontroller at bare nøkkelen (e) du ønsket ble lagt til.
MERK: Kopier aldri din private nøkkel til en annen maskin.
Når kommandoen er utført vellykket, kan du prøve å logge på serveren ved hjelp av nøkkelen du lastet opp, som følger:
$ ssh -p 6576 linkfy @ 77.134.54.101Ovennevnte kommando krever at du oppgir passordfrasen for den offentlige nøkkelen, som vist i utdataene nedenfor:
Angi passordfrase for nøkkel '/ root /.ssh / id_rsa ':Siste innlogging: Fre 5. mars 14:06:16 2021 fra 173.208.98.186
Kommandoen ovenfor skal tillate deg å logge på den eksterne verten uten å be om brukerens passord. Systemet kan be deg om å oppgi passordfrasen til nøkkelen du konfigurerte tidligere.
SSH-copy-id Kommandoalternativer
Du kan endre hvordan kommandoen ssh-copy-id fungerer ved å bruke de angitte argumentene. For å se hjelpesiden, bruk kommandoen ssh-copy-id -h eller bruk ssh-copy-id-kommandoen uten argumenter.
- -jeg argument: Dette argumentet spesifiserer identitetsfilen som skal brukes, i.e., kopiert til den angitte eksterne verten. Hvis du ikke spesifiserer argumentet -i, vil alle filene i ~ /.ssh-katalog med matchende mønster *.pub vil bli lagt til.
- -f flagg: Dette flagget aktiverer tvangsmodus, som ikke sjekker om nøkkelen er forhåndskonfigurert i autoriserte_taster på serveren. Flagget -f legger til en nøkkel, som ofte resulterer i flere kopier av den samme nøkkelen installert på serveren.
- -p flagg: Dette flagget spesifiserer SSH-porten for å koble til den eksterne verten. Dette flagget brukes når standard SSH-port ikke brukes.
- -n flagg: Dette flagget utfører tørrkjøring som skriver ut nøklene som er beregnet for installasjon uten å installere dem på den eksterne verten.
Konklusjon
Denne guiden viste deg hvordan du bruker kommandoen ssh-copy-id til å installere SSH-nøkler på eksterne verter. Selv om dette kan være en enkel og effektiv metode for å installere nøkler, kan feilkonfigurerte nøkler føre til sikkerhetsproblemer eller bli låst ut av systemet. Vær derfor ekstremt forsiktig når du eksperimenterer med denne prosessen.