De opdracht ssh-copy-id gebruiken

How Use Ssh Copy Id Command



De opdracht ssh-copy-id is een eenvoudig hulpmiddel waarmee u een SSH-sleutel kunt installeren op de geautoriseerde sleutels van een externe server. Deze opdracht vereenvoudigt het inloggen met een SSH-sleutel, waardoor er geen wachtwoord meer nodig is voor elke aanmelding, waardoor een automatisch aanmeldingsproces zonder wachtwoord wordt gegarandeerd. De opdracht ssh-copy-id maakt deel uit van OpenSSH, een tool voor het uitvoeren van systeembeheer op afstand met behulp van versleutelde SSH-verbindingen.

Dit artikel laat zien hoe je de ssh-copy-id tool gebruikt om je SSH-aanmeldingen naadloos en veiliger te maken.







De opdracht ssh-copy-id installeren

De tool ssh-copy-id, onderdeel van het OpenSSH-pakket, is beschikbaar in alle grote Linux-distributiebronnen en je kunt je pakketbeheerder gebruiken om deze opdracht te installeren.



Gebruik de volgende opdracht om de tool ssh-copy-id op Debian te installeren:



sudo apt-get update && sudo apt-get installopenssh-client

Zodra je OpenSSH hebt geïnstalleerd, kun je de ssh-copy-id tool in de opdrachtregel gebruiken.





$ ssh-kopie-id

Gebruik:/usr/ben/ssh-kopie-id[-H|-?|-F|-N] [-l[identiteitsbestand]] [-p poort] [[-of<ssh -ofopties>]...] [gebruiker@]hostnaam-f: krachtmodus-sleutels kopiëren zonder te proberen te controlerenindienze zijn al geïnstalleerd -n: drooglopen-er worden geen sleutels gekopieerd-H|-?: print dithelpen

Het gebruik van ssh-copy-id is eenvoudig omdat het script het authenticatieproces met openbare sleutels eenvoudiger en efficiënter maakt. Voordat we ingaan op het gebruik van de tool, bespreken we eerst hoe SSH-authenticatie met openbare sleutels werkt.

OPMERKING : Als u al weet hoe SSH-authenticatie met openbare sleutels werkt, kunt u dit deel overslaan en meteen dieper ingaan op het gebruik van het ssh-copy-id-commando.



SSH-verificatie met openbare sleutel

Openbare SSH-sleutelverificatie is een SSH-verificatiemethode waarmee gebruikers cryptografisch gegenereerde sleutels kunnen gebruiken om in te loggen op externe servers.

SSH-sleutels zijn veiliger dan onbewerkte wachtwoorden en bieden een veel efficiëntere manier om in te loggen op SSH. SSH-sleutels zijn geautomatiseerd en eenmaal geautoriseerd, is er geen wachtwoord nodig bij elke login.

Om een ​​SSH-sleutel te gebruiken, beginnen we met het genereren van een sleutel.

Een SSH-sleutel genereren

Om een ​​SSH-sleutel te genereren, gebruikt u de ssh-keygen-tool die deel uitmaakt van OpenSSH. Deze tool genereert openbare en privésleutelbestanden die zijn opgeslagen in de map ~/.ssh, zoals hieronder wordt weergegeven.

$ssh-keygen

Publiek genereren/privé rsa-sleutelpaar.
Binnenkomenhet dossier in dieom de sleutel op te slaan(/wortel/.ssh/id_rsa):
Gemaakte map'/root/.ssh'.
Voer wachtwoordzin in(leegvoorgeen wachtwoordzin):
Voer dezelfde wachtwoordzin opnieuw in:
Uw identificatie is opgeslagenin /wortel/.ssh/id_rsa.
Uw openbare sleutel is opgeslagenin /wortel/.ssh/id_rsa.pub.
De belangrijkste vingerafdruk is:
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24DptsA wortel@gebruiker De sleutel's randomart afbeelding is:
+---[RSA 2048]----+
| o=o |
| O. o|
| . . +. +. |
| . + + o .o|
| S+. . |
|. o ..o o + .|
|.En de +. +. + + |
|o. = o.o+ .o.+..|
| .o .. oo =+ o = o.+ |
+----[SHA256]-----+

SSH-sleutel kopiëren met SSH-copy-id

Nadat we een SSH-sleutel hebben gegenereerd, kunnen we de SSH-sleutel handmatig toevoegen aan het bestand geautoriseerde sleutels van de externe machine of de opdracht ssh-copy-id gebruiken.

We zullen de opdracht ssh-copy-id gebruiken om dit proces gemakkelijker te maken. Roep eenvoudig de opdracht ssh-copy-id aan en geef het pad naar de openbare sleutel als volgt door:

$ssh-kopie-id-l~/.ssh/id_rsa.pub gebruiker@77.134.54.101-P 6576

Na het invoeren van de bovenstaande opdracht, zou u de volgende uitvoer moeten verkrijgen:

/usr/ben/ssh-copy-id: INFO: Bron van sleutel(s)te installeren:'/root/.ssh/id_rsa.pub'
/usr/ben/ssh-copy-id: INFO: probeert in te loggeninmet de nieuwe sleutel(s), om al geïnstalleerde bestanden eruit te filteren
/usr/ben/ssh-copy-id: INFO:1toets(s)moet nog worden geïnstalleerd- indienu wordt nu gevraagd, het is ominstallerende nieuwe sleutels gebruiker@77.134.54.101's wachtwoord:
Aantal sleutel(s)toegevoegd:1Probeer nu in te loggen op de machine, met:'ssh -p '6576' ' [e-mail beveiligd] ''en controleer ommakenzeker dat alleen de sleutel(s)je wilde zijn toegevoegd.

OPMERKING : Kopieer uw privésleutel nooit naar een andere machine.

Zodra de opdracht met succes is uitgevoerd, probeert u als volgt in te loggen op de server met de sleutel die u heeft geüpload:

$ssh -P 6576linkfy@77.134.54.101

Voor de bovenstaande opdracht moet u de wachtwoordzin voor uw openbare sleutel invoeren, zoals weergegeven in de onderstaande uitvoer:

Voer wachtwoordzin invoortoets'/root/.ssh/id_rsa':
Laatste login: vr maart5 14: 06:16 2021vanaf 173.208.98.186

Met de bovenstaande opdracht kunt u zich aanmelden bij de externe host zonder om het wachtwoord van de gebruiker te vragen. Het systeem kan u vragen om de wachtwoordzin in te voeren van de sleutel die u eerder hebt ingesteld.

SSH-copy-id Opdrachtopties

U kunt de werking van de opdracht ssh-copy-id wijzigen met behulp van de opgegeven argumenten. Gebruik de opdracht ssh-copy-id -h om de helppagina te bekijken of gebruik de opdracht ssh-copy-id zonder argumenten.

  1. -ik argument : Dit argument specificeert het identiteitsbestand dat moet worden gebruikt, d.w.z. gekopieerd naar de opgegeven externe host. Als u het argument -i niet opgeeft, worden alle bestanden in de map ~/.ssh met het overeenkomende patroon *.pub toegevoegd.
  2. -f vlag : Deze vlag schakelt de geforceerde modus in, die niet controleert of de sleutel vooraf is geconfigureerd in Authorized_keys op de server. De vlag -f voegt een sleutel toe, wat vaak resulteert in meerdere exemplaren van dezelfde sleutel die op de server zijn geïnstalleerd.
  3. -p vlag : Deze vlag specificeert de SSH-poort om verbinding te maken met de externe host. Deze vlag wordt gebruikt wanneer de standaard SSH-poort niet wordt gebruikt.
  4. -n vlag : Deze vlag voert een test uit die de sleutels afdrukt die bedoeld zijn voor installatie zonder ze op de externe host te installeren.

Conclusie

Deze handleiding liet je zien hoe je de opdracht ssh-copy-id gebruikt om SSH-sleutels op externe hosts te installeren. Hoewel dit een eenvoudige en efficiënte methode kan zijn om sleutels te installeren, kunnen verkeerd geconfigureerde sleutels leiden tot beveiligingsproblemen of buitensluiten van het systeem. Wees daarom uiterst voorzichtig als u met dit proces experimenteert.