So kopieren Sie SSH-Schlüssel

How Copy Ssh Keys



SSH ist ein wichtiges Werkzeug, wenn es um eine Arbeit auf einem anderen Server geht. Sie können Dateien verschieben, Ordner synchronisieren, Konten und Serverdateien migrieren, Backups kopieren usw. Es gibt zahlreiche Anwendungen für SSH und die Bedeutung von SSH-Schlüsseln liegt darin, dass in kurzer Zeit mehr sich wiederholende Prozesse wie das Kopieren einiger Dateien oder Ordner durchgeführt werden müssen , mehrere Benutzer, mehrere Ordner, mehrere Konten, cpanel-Backups usw. und in diesen Fällen wird es wirklich langweilig und zeitaufwändig, wenn Sie jedes Mal, wenn Sie gefragt werden, ein ssh-Passwort eingeben müssen. Die Einrichtung Ihrer SSH-Schlüssel kann verhindern, dass das Kennwort für jede Aufgabe manuell eingegeben werden muss.

Um SSH-Schlüssel zwischen zwei Servern einzurichten, müssen wir diese Schritte ausführen:







Erstellen Sie ein Schlüsselpaar auf dem Quellserver. Wenn wir den Befehl ssh-keygen geben, wird standardmäßig ein 2048-Bit-RSA-Schlüsselpaar erstellt, und wenn Sie eine stärkere Verschlüsselung benötigen, können Sie auch 4096 Bit verwenden. Dazu müssen Sie -b 4096 im ssh-keygen-Befehlsende verwenden. Ich verwende hier die Standardeinstellung.



In der folgenden Ausgabe sind einige Dinge zu beachten:



In Zeile Datei eingeben, in der der Schlüssel gespeichert werden soll |_+_|





Es fragt nach dem Pfad zum Speichern des Schlüssels und der Standard ist normalerweise in Ordnung. Wenn die Standardeinstellung in Ordnung ist, können Sie einfach die Eingabetaste drücken. Wenn Sie einen alternativen Pfad ausprobieren möchten, müssen Sie ihn dort angeben. Manchmal sagt dies wie:

/Wurzel/.ssh/id_rsa existiert bereits. Überschreiben(und/n)?

Sie sollten eine Kopie des .ssh-Ordners erstellen, bevor Sie Änderungen vornehmen oder wissen, was Sie tun. Wenn Sie ein Ja senden, wird der alte Schlüssel (wenn er bereits verwendet wird) nicht mehr funktionieren.



In der Zeile Enter passphrase (leer für keine Passphrase): Dies ist ein zusätzliches Sicherheitsverfahren, das jedes Mal nach der Passphrase fragt, wenn Sie versuchen, sich bei SSH anzumelden, und das als 2-Schritt-Verifizierung funktioniert. Aber wenn Sie SSH-Zugriff für Skripte oder andere direkte Arbeiten und schnelle Arbeiten benötigen, sollten Sie dies besser nicht haben. Abgesehen von der Skripterstellung oder Automatisierung der Arbeiten empfehlen wir Ihnen, dies auf jeden Fall zu haben.

Vollständiges Ergebnis des Befehls als Referenz:

[email protected] :~$ssh-keygen
Öffentlichkeit generieren/privates rsa-Schlüsselpaar.
EintretenDatei in welcherum den Schlüssel zu speichern(/Wurzel/.ssh/id_rsa):
Verzeichnis erstellt'/root/.ssh'.
Passphrase eingeben(leerzumkeine Passphrase):
Geben Sie dieselbe Passphrase erneut ein:
Ihre Identifikation wurde gespeichertin /Wurzel/.ssh/id_rsa.
Ihr öffentlicher Schlüssel wurde gespeichertin /Wurzel/.ssh/id_rsa.pub.
Der wichtigste Fingerabdruck ist:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@See

Der Schlüssel's Randomart-Bild ist:

+---[RSA 2048]----+
| |
| . .
| . oo.o |
| .=o=o+|
| E S o. * OBo |
| . . * oder +. +. = |
| . . . .o=. =ooo|
| . .. + o*.B|
| .. Ö. o + oB + |
+----[SHA256]-----+
[email protected] ~$

Schritt 2: Kopieren Sie dieses erstellte Schlüsselpaar auf Ihren Zielserver

Es gibt 2 verschiedene Möglichkeiten, dies auf Ihren Zielserver zu kopieren

  • Verwenden des Befehls ssh-copy-id
  • Kopieren des ssh-Schlüssels mit normalem ssh-Benutzer/Pass als ein Liner von unserem lokalen Computer oder nach der Anmeldung am Server.

2.1 Verwenden des Befehls ssh-copy-id

ssh-copy-id übernimmt das Kopieren und Einrichten des Schlüssels auf einem entfernten Server auf die richtige Weise für Sie. Sobald der Befehl abgeschlossen ist, benötigen Sie nicht mehr für jede Anmeldung ein Passwort. Jetzt können Sie alle Ihre automatisierten Skripte für die Arbeit des Systemadministrators schreiben, ohne ein Kennwort manuell eingeben zu müssen, und sparen Zeit beim täglichen Zugriff auf Systeme, die Sie ständig verwenden.

Zuerst müssen Sie überprüfen, ob es einen solchen Befehl gibt und ob der Befehl funktioniert und der Benutzer, als der Sie es versuchen, Zugriff auf diesen Befehl hat, dann können Sie diesen Befehl verwenden, um den öffentlichen Schlüssel auf den Remote-Server zu kopieren. Dieses Dienstprogramm durchsucht Ihr lokales Konto nach öffentlichen rsa-Schlüsseln und fordert Sie zur Eingabe des Passworts des Remote-Benutzerkontos auf.

Hier werden wir den Root-SSH-Schlüssel auf den Root-Level-Zugriff des Servers kopieren. Um dies zu kopieren, müssen Sie sich also anmelden / zu dem Benutzer wechseln, für den Sie den Schlüssel erstellt haben. In diesem Fall versuchen wir eine Root-Root-Verbindung.

Die vollständige Ausgabe ist unten und ich füge die erforderlichen Details dazwischen hinzu

Wurzel@Quelle]]:~$ ssh-copy-id root@192.1.1.19-P 1986
Die Authentizität des Gastgebers„[192.1.1.19]: 1986 ([192.1.1.19]: 1986)“kann' nicht etabliert werden.
Der Fingerabdruck des ECDSA-Schlüssels lautet SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImpTiMhHGgDqQFk.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? Jawohl

Wenn Sie dies zum ersten Mal verwenden, erhalten Sie eine solche Antwort und müssen 'Ja' eingeben und dann die Eingabetaste drücken

/usr/bin/ssh-copy-id: INFO: Versuch, sich anzumeldeninmit dem neuen Schlüssel(S),
um alle bereits installierten herauszufiltern

/usr/bin/ssh-copy-id: INFO:1Schlüssel(S)muss noch installiert werden- wenndu wirst aufgefordert
jetzt ist es zuInstallierendie neuen Schlüssel

Wurzel@192.1.1.19's Passwort:

Geben Sie das Passwort ein und drücken Sie dann die Eingabetaste.

Anzahl der Schlüssel(S)hinzugefügt:1

Versuchen Sie nun, sich mit dem Computer anzumelden: ssh -p ‘1986’ ‘ [email protected] ′
und überprüfen Sie, ob es wie erwartet funktioniert.

Danach können Sie sich ohne Passwörter beim Server anmelden. Sobald die Passwort-lose Authentifizierung einwandfrei funktioniert, können Sie die Passwort-Authentifizierung deaktivieren, sodass Sie den SSH-Zugriff auf die Verwendung von SSH-Schlüsseln sperren können

2.2 Kopieren des ssh-Schlüssels mit normalem ssh-Benutzer/Pass manuell

Wenn Sie den obigen Befehl nicht zum Laufen bringen, füge ich die Schritte hinzu, damit Sie den SSH-Schlüssel und das Setup-Passwort ohne Authentifizierung von Ihrem Computer auf Ihren Server kopieren können.

Dazu müssen wir den Inhalt Ihrer Datei id_rsa.pub manuell an die Datei /root/.ssh/authorized_keys auf Ihrem Zielcomputer anhängen. Wenn Sie den Schlüssel zum Root-Benutzer kopieren, lautet der Speicherort |_+_|

Ab Schritt 1: Sie haben vielleicht die folgende Zeile gesehen

Ihr öffentlicher Schlüssel wurde in |_+_| . gespeichert

Dies besagt, dass sich der öffentliche Schlüssel, den Sie auf den Remote-Server kopieren müssen, in der obigen Datei befindet. Sie müssen also den Inhalt dieser Datei kopieren und dann in die authorisierten_Schlüssel des Remote-Servers kopieren oder einfügen

Führen Sie also die folgenden Schritte aus

Der folgende Befehl gibt Ihnen den zu kopierenden Schlüssel:

[email protected] $Katze /Wurzel/.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== Wurzel@Quelle

Melden Sie sich beim Remote-Server an, auf den Sie diesen obigen Schlüssel kopieren müssen, und stellen Sie sicher, dass Sie denselben Benutzer verwenden, auf den Sie den ssh-Schlüssel kopieren müssen. Wenn Sie direkten Root-Zugriff benötigen, kopieren Sie den Schlüssel direkt in den Abschnitt /root/.ssh/

Erstellen Sie einen .ssh-Ordner, wenn er nicht existiert

Um zu überprüfen, ob dies existiert, und wenn nicht, erstellen Sie es mit den folgenden Befehlen:

[E-Mail geschützt] :$ls -das /Wurzel/.ssh

Wenn der Ordner nicht vorhanden ist, erstellen Sie ihn mit dem folgenden Befehl:

[email protected] $mkdir -P /Wurzel/.ssh
[email protected] $berühren /Wurzel/.ssh/authorisierte_keys

[E-Mail geschützt] :$rauswerfenssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBIcO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosa/uS66+PujOO+xt/2FWYepz6ZlN70bRly
57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ==Wurzel@Quelle>>
/Wurzel/.ssh/authorisierte_keys

Stellen Sie sicher, dass die Berechtigung des Ordners korrekt ist

chmod -R gehen=/Wurzel/.ssh/

Versuchen Sie anschließend, sich von einem neuen Terminal aus beim Server anzumelden und stellen Sie sicher, dass die schlüssellose Authentifizierung wie erwartet funktioniert. Deaktivieren Sie erst dann die Passwortauthentifizierung in der ssh-config.

HINWEIS: Stellen Sie sicher, dass Sie sich bei Bedarf beim Server anmelden können (entweder direkt von Ihrem Computer aus oder Sie können sich bei einem anderen Benutzer auf dem Remote-Server anmelden und von diesem Konto manuell mit su oder sudo zu root wechseln) und dann nur deaktivieren Sie die Passwort-Authentifizierung. Andernfalls besteht die Möglichkeit, dass Root-Benutzer gesperrt werden.

Wenn Sie irgendwelche Bedürfnisse haben, können Sie mich jederzeit kontaktieren, um Hilfe zu erhalten und Ihre Kommentare zu teilen.