SSH-sleutels kopiëren

How Copy Ssh Keys



SSH is een belangrijk hulpmiddel als het gaat om een ​​werk dat op een andere server moet worden gedaan. U kunt bestanden verplaatsen, mappen synchroniseren, accounts en serverbestanden migreren, back-ups kopiëren enz. Er zijn talloze toepassingen voor SSH en het belang van SSH-sleutels is wanneer er in korte tijd meer repetitieve processen moeten worden uitgevoerd, zoals het kopiëren van sommige bestanden of mappen , meerdere gebruikers, meerdere mappen, meerdere accounts, cpanel-back-ups enz. In deze gevallen zal het erg saai en tijdrovend zijn als je elke keer dat daarom wordt gevraagd een ssh-wachtwoord moet geven. Het instellen van uw SSH-sleutels kan voorkomen dat het wachtwoord voor elke taak handmatig moet worden ingevoerd.

Om SSH-sleutels tussen twee servers in te stellen, moeten we deze stappen volgen:







Maak een sleutelpaar op de bronserver. Als we de opdracht ssh-keygen geven, wordt standaard een 2048-bits RSA-sleutelpaar gemaakt en als u sterkere codering nodig hebt, kunt u ook 4096-bits gebruiken. Daarvoor moet je -b 4096 gebruiken in het ssh-keygen commando einde. Ik gebruik hier de standaard.



Een paar dingen die moeten worden geregeld in de onderstaande uitvoer:



In de regel Voer het bestand in waarin de sleutel moet worden opgeslagen |_+_|





Het vraagt ​​​​het pad om de sleutel op te slaan en de standaard is normaal gesproken prima. Als de standaardinstelling goed is, kunt u eenvoudig op enter drukken. Als u een alternatief pad wilt proberen, moet u daar hetzelfde opgeven. Soms zegt dit als volgt:

/wortel/.ssh/id_rsa bestaat al. overschrijven(en/N)?

U moet een kopie van de .ssh-map maken voordat u wijzigingen aanbrengt of weet wat u doet. Als u een Ja verzendt, werkt de oude sleutel (indien al in gebruik) niet.



In de regel Voer wachtwoordzin in (leeg voor geen wachtwoordzin): Dit is een extra beveiligingsprocedure die elke keer dat u probeert in te loggen op SSH om een ​​wachtwoordzin vraagt ​​en dat werkt als een 2-stapsverificatie. Maar als je ssh-toegang nodig hebt voor scripting of andere directe werken en snelle werken, dan is het beter om dit niet te hebben. Afgezien van het scripten of automatiseren van de werken, raden we je aan dit zeker te hebben.

Volledig resultaat van de opdracht ter referentie:

[e-mail beveiligd] :~$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:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@sree

De sleutel's randomart afbeelding is:

+---[RSA 2048]----+
| |
| . |
| . oo.o |
| .=o=o+|
| E S o. * OBo |
| . . * of + +. = |
| . . . .o=. =ooo|
| . .. + o*.B|
| .. o. o + oB + |
+----[SHA256]-----+
[e-mail beveiligd] ~$

Stap 2: Kopieer dit aangemaakte sleutelpaar naar uw bestemmingsserver

Er zijn 2 verschillende manieren om dit naar uw bestemmingsserver te kopiëren

  • De opdracht ssh-copy-id gebruiken
  • Het kopiëren van de ssh-sleutel met de normale ssh-gebruiker/pass als één voering vanaf onze lokale machine of na het inloggen op de server.

2.1 Het ssh-copy-id commando gebruiken

ssh-copy-id zal het kopiëren en instellen van de sleutel naar een externe server op de juiste manier voor u afhandelen. Zodra de opdracht is voltooid, hebt u geen wachtwoord meer nodig voor elke login. Nu kunt u al uw geautomatiseerde scripts schrijven voor systeembeheerders zonder dat u handmatig een wachtwoord hoeft in te voeren en tijd besparen op de dagelijkse toegang tot systemen die u altijd gebruikt.

Eerst moet je controleren of er een dergelijke opdracht is en of de opdracht werkt en de gebruiker die je probeert toegang heeft tot deze opdracht, dan kun je deze opdracht gebruiken om de openbare sleutel naar de externe server te kopiëren. Dit hulpprogramma scant uw lokale account op openbare rsa-sleutels en vraagt ​​u om het wachtwoord van het account van de externe gebruiker.

Hier gaan we de root ssh-sleutel kopiëren naar de toegang op rootniveau van de server. Dus om dit gekopieerd te krijgen, moet je inloggen/overschakelen naar de gebruiker waarvoor je de sleutel hebt aangemaakt. In dit geval proberen we een root-root-verbinding.

De volledige uitvoer staat hieronder en ik voeg de benodigde details daartussen toe

wortel@Bron]]:~$ ssh-kopie-id root@192.1.1.19-P 1986
De authenticiteit van de gastheer'[192.1.1.19]: 1986 ([192.1.1.19]: 1986)'kanniet worden vastgesteld.
De vingerafdruk van de ECDSA-sleutel is SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Weet u zeker dat u door wilt gaan met verbinden (ja/nee)? Ja

Als u dit voor de eerste keer gebruikt, krijgt u zo'n antwoord en moet u ja typen en vervolgens op enter drukken

/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- indienje wordt gevraagd
nu is het ominstallerende nieuwe sleutels

wortel@192.1.1.19wachtwoord:

Voer het wachtwoord in en druk vervolgens op enter.

Aantal sleutel(s)toegevoegd:1

Probeer nu in te loggen op de machine, met: ssh -p ‘1986’ ‘ [email protected] ′
en controleer of het werkt zoals verwacht.

Hierna kunt u inloggen op de server zonder wachtwoord. Zodra wachtwoordloze authenticatie goed werkt, kunt u de wachtwoordauthenticatie uitschakelen, zodat u ssh-toegang kunt vergrendelen met alleen ssh-sleutels

2.2 De ssh-sleutel kopiëren met de normale ssh-gebruiker/pas handmatig

Als je op de een of andere manier niet in staat bent om dat bovenstaande commando te laten werken, zal ik de stappen toevoegen zodat je de ssh-sleutel en het setup-wachtwoord minder auth van je machine naar je server kunt kopiëren.

Om dit te doen, moeten we de inhoud van uw id_rsa.pub-bestand handmatig toevoegen aan het /root/.ssh/authorized_keys-bestand op uw bestemmingscomputer. Als u de sleutel naar de rootgebruiker gaat kopiëren, is de locatie |_+_|

Vanaf stap 1: je hebt misschien de onderstaande regel gezien:

Uw openbare sleutel is opgeslagen in |__+_|

Dit zegt dat de openbare sleutel die u naar de externe server moet kopiëren, zich in het bovenstaande bestand bevindt. U moet dus de inhoud van dit bestand kopiëren en ze vervolgens kopiëren of plakken in de geautoriseerde_sleutels van de externe server

Dus doe de onderstaande stappen

Onderstaande opdracht geeft u de te kopiëren sleutel:

[e-mail beveiligd] $kat /wortel/.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== wortel@Bron

Log in op de externe server waarnaar u deze bovenstaande sleutel moet kopiëren en zorg ervoor dat u dezelfde gebruiker gebruikt waarnaar u de ssh-sleutel moet kopiëren. Als je directe root-toegang nodig hebt, kopieer je de sleutel rechtstreeks naar /root/.ssh/ sectie

Maak een map .ssh als deze niet bestaat

Om te controleren of dat bestaat en zo niet, maak het dan aan met behulp van de onderstaande opdrachten:

[e-mail beveiligd] :$ls -de /wortel/.ssh

Als de map er niet is, maak deze dan aan met de onderstaande opdracht:

[e-mail beveiligd] $mkdir -P /wortel/.ssh
[e-mail beveiligd] $aanraken /wortel/.ssh/geautoriseerde_sleutels

[e-mail beveiligd] :$gooide uitssh-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==wortel@Bron>>
/wortel/.ssh/geautoriseerde_sleutels

Zorg ervoor dat de toestemming van de map correct is

chmod -R Gaan=/wortel/.ssh/

Probeer hierna in te loggen op de server vanaf een nieuwe terminal en zorg ervoor dat keyless auth werkt zoals verwacht. Schakel pas dan wachtwoordverificatie uit in de ssh-configuratie.

OPMERKING: Zorg ervoor dat u zich naar behoefte kunt aanmelden bij de server (ofwel rechtstreeks vanaf uw computer, of u kunt inloggen bij een andere gebruiker op de externe server en handmatig overschakelen naar root vanaf dat account met su of sudo ) en dan alleen schakel wachtwoord uit, anders bestaat de kans dat root-gebruikers worden vergrendeld.

Als je iets nodig hebt, kun je altijd contact met me opnemen voor hulp en je opmerkingen delen.