ssh

Hur man kopierar SSH-nycklar

Hur man kopierar SSH-nycklar
SSH är ett viktigt verktyg när det gäller ett arbete som ska utföras på en annan server. Du kan flytta filer, synkronisera mappar, migrera konton och serverfiler, kopiera säkerhetskopior etc. Det finns många användningsområden för SSH och vikten av SSH-nycklar är när det finns mer repetitiva processer som ska göras under en kort period som att kopiera vissa filer eller mappar, flera användare, flera mappar, flera konton, cpanel-säkerhetskopior etc och i dessa fall är det kommer att bli riktigt tråkigt och tidskrävande om du måste ge ssh-lösenord varje gång det ber. Att ha din SSH-nyckelinställning kan förhindra att lösenordet måste anges manuellt för varje uppgift.

För att ställa in SSH-nycklar mellan två servrar måste vi följa dessa steg:

Steg 1: Skapa ett nyckelpar i källservern

Skapa ett nyckelpar på källservern. När vi ger ssh-keygen-kommando skapas det som standard ett 2048-bitars RSA-nyckelpar och om du behöver mer starkare kryptering kan du också använda 4096 bitar. För det måste du använda “-b 4096” i kommandoslutet ssh-keygen. Jag använder standard en här.

Ett par saker som ska tas hand i nedanstående utdata:

I raden ”Ange fil där nyckeln ska sparas (/rot/.ssh / id_rsa): ”

Det ber stigen att spara nyckeln och standard är normalt bra. Om standard är bra kan du helt enkelt trycka på enter. Om du vill prova alternativ sökväg måste du ange samma där.  En del gånger säger detta:

/rot/.ssh / id_rsa finns redan. Skriv över (y / n)?

Du bör ta en kopia av .ssh-mappen innan du gör några ändringar eller borde veta vad du gör. Att skicka ett Ja gör att den gamla nyckeln (om den redan används) inte fungerar.

I raden "Ange lösenfras (tom för ingen lösenfras):" Detta är en ytterligare säkerhetsprocedur som frågar lösenfrasen varje gång du försöker logga in på SSH och det fungerar som en tvåstegsverifiering. Men om du behöver ssh-åtkomst för skript eller andra direktverk och snabba verk, är det bättre att inte ha det här. Annat än att skripta eller automatisera verk, föreslår vi att du har det här säkert.

Fullständigt resultat av kommandot för referens:

[e-postskyddad]: ~ $ ssh-keygen
Skapar offentligt / privat rsa-nyckelpar.
Ange fil där nyckeln ska sparas (/ root /.ssh / id_rsa):
Skapad katalog '/ root /.ssh '.
Ange lösenfras (tom för ingen lösenfras):
Ange samma lösenfras igen:
Din identitet har sparats i / root /.ssh / id_rsa.
Din offentliga nyckel har sparats i / root /.ssh / id_rsa.pub.
Nyckelfingeravtrycket är:
SHA256: z4nl0d9vJpo / 5bdc4gYZh8nnTjHtXB4Se / UqyuyigUI sumesh @ Sree
Nyckelns slumpmässiga bild är:
+---[RSA 2048]----+
| |
|             .  .|
|           . oo.o |
|           .= o = o + |
| E S o .* oBo |
| .   .   * o+.+.= |
| ... o =. = ooo |
|   .  ... + o *.B |
| ... o. o + oB + |
+----[SHA256]-----+
[e-postskyddad] ~ $

Steg 2: Kopiera detta skapade nyckelpar till din destinationsserver

Det finns två olika sätt att kopiera detta till din destinationsserver

2.1 Använd kommandot ssh-copy-id

ssh-copy-id hanterar kopiering och installation av nyckeln till en fjärrserver på rätt sätt för dig. När kommandot har slutförts behöver du inte ett lösenord för varje inloggning. Nu kan du skriva alla dina automatiska skript för systemadministratörsarbete utan att behöva ange ett lösenord manuellt och spara tid på den dagliga åtkomsten till system du använder hela tiden.

Först måste du kontrollera om det finns ett sådant kommando och om kommandot fungerar och användaren som du försöker har tillgång till det här kommandot, kan du använda det här kommandot för att kopiera den offentliga nyckeln till fjärrservern.  Detta verktyg söker igenom ditt lokala konto efter valfri rsa-nyckel och ber dig om lösenordet för fjärranvändarens konto.

Här ska vi kopiera root ssh-nyckeln till servrarnas root-åtkomst.  Så för att få detta kopierat måste du logga in / byta till den användare som du har skapat nyckeln för. I det här fallet försöker vi root-root-anslutning.

Full utdata är nedan och jag lägger till nödvändiga detaljer mellan dem

root @ Source]]: ~ $ ssh-copy-id root @ 192.1.1.19 -p 1986
Värdens äkthet [192.1.1.19]: 1986 ([192.1.1.19]: 1986) 'kan inte upprättas.
ECDSA-nyckelfingeravtryck är SHA256: YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Är du säker på att du vill fortsätta ansluta (ja / nej)? ja

Om du använder detta för första gången får du ett sådant svar och du måste skriva ja och sedan trycka på enter

/ usr / bin / ssh-copy-id: INFO: försöker logga in med de nya nycklarna,
för att filtrera bort alla som redan är installerade
/ usr / bin / ssh-copy-id: INFO: 1 nyckel (ar) återstår att installera - om du uppmanas
nu är det att installera de nya nycklarna
rot @ 192.1.1.19: s lösenord:

Ange lösenordet och tryck sedan på Enter.

Antal nycklar tillagda: 1

Försök nu logga in på maskinen med: “ssh -p '1986" [email protected]' "
och kontrollera att den fungerar som förväntat.

Efter detta kommer du att kunna logga in på servern utan några lösenord. När lösenord mindre autentisering fungerar bra kan du inaktivera lösenordsautentisering så att du kan låsa ssh-åtkomst till bara med hjälp av ssh-tangenter

2.2 Kopiera ssh-tangenten med normal ssh-användare / skicka manuellt

Om du inte kan få det ovanstående kommandot att fungera, lägger jag till stegen så att du kan kopiera ssh-nyckeln och konfigurera lösenordet mindre autentisering från din maskin till din server.

För att göra detta måste vi lägga till innehållet i din id_rsa manuellt.pubfil till / root /.ssh / authorised_keys-filen på din destinationsmaskin.  Om du ska kopiera nyckeln till rotanvändaren kommer platsen att vara /rot/.ssh / auktoriserade_tangenter .

Från steg 1: du kanske har sett nedanstående rad

Din offentliga nyckel har sparats i /rot/.ssh / id_rsa.pub.

Detta säger att den offentliga nyckeln som du behöver kopiera till fjärrservern finns i filen ovan. Så du måste kopiera innehållet i den här filen och sedan kopiera eller klistra in dem i auktoriserade_tangenterna på fjärrservern

Så gör nedanstående steg

Kommandot nedan ger dig nyckeln som ska kopieras:

[e-postskyddad] $ cat / root /.ssh / id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44 + tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ
8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3EG112n6d + SMXY0OEBIcO6x + PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G / 12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X / vh2xPff6SQ1BL / zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi / uS66 + PujOO + xt / 2FWYepz6ZlN70bRly57Q06J + ZJoc9FfBCbCyYH7U / ASsmY0
95ywPsBo1XQ9PqhnN1 / YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8 / lERo9oxRm5JFX6TCmj6kmiFqv + Ow9gI0x8GvaQ == root @ Source

Logga in på fjärrservern till vilken du behöver kopiera den här nyckeln och se till att du använder samma användare som du behöver kopiera till ssh-nyckeln. Om du behöver direkt rootåtkomst kopierar du nyckeln direkt till / root /.ssh / sektion

Skapa en mapp .ssh om det inte finns

För att kontrollera om det finns och om inte skapa det med kommandona nedan:

[e-postskyddad]: $ ls -l / root /.ssh

Om mappen inte finns där skapar du den med kommandot nedan:

[e-postskyddad] $ mkdir -p / root /.ssh
[e-postskyddad] $ touch / root /.ssh / auktoriserade_tangenter
[e-postskyddad]: $ echo “ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBIcO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G / 12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X / vh2xPff6SQ1BL / zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi / uS66 + PujOO + xt / 2FWYepz6ZlN70bRly
57Q06J + ZJoc9FfBCbCyYH7U / ASsmY095ywPsBo1XQ9PqhnN1 / YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8 / lERo9oxRm5JFX6TCmj6kmiFqv + Ow9gI0x8GvaQ == root @ Source “>>
/rot/.ssh / auktoriserade_tangenter

Se till att mappens behörighet är korrekt

chmod -R go = / root /.ssh /

Efter detta, vänligen logga in på servern från en ny terminal och se till att nyckelfri autentisering fungerar som förväntat.  Först då inaktiverar du lösenordsautentisering i ssh-konfigurationen.

OBS: Se till att du kan logga in på servern efter behov av dig (antingen direkt från din maskin eller så kan du logga in på en annan användare på fjärrservern och växla till root från det kontot manuellt med su eller sudo) inaktivera lösenordsautentisering annars finns det chanser att låta rotanvändare vara låsta.

Om du har några behov kan du alltid kontakta mig för hjälp och dela dina kommentarer.

5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...