ssh

So kopieren Sie SSH-Schlüssel

So kopieren Sie SSH-Schlüssel
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 ist, wenn in kurzer Zeit mehr sich wiederholende Prozesse wie das Kopieren einiger Dateien oder Ordner, mehrerer Benutzer, mehrerer Ordner, mehrerer Konten, Cpanel-Backups usw wird 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:

Schritt 1: Erstellen Sie ein Schlüsselpaar auf dem Quellserver

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. 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-Befehl end verwenden. Ich verwende hier die Standardeinstellung.

In der folgenden Ausgabe sind einige Dinge zu beachten:

In der Zeile „Datei eingeben, in der der Schlüssel gespeichert werden soll (/Wurzel/.ssh/id_rsa):“

Es wird nach dem Pfad gefragt, um den Schlüssel zu speichern, 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 (j/n)?

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

In der Zeile "Passphrase eingeben (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.

Vollständiges Ergebnis des Befehls als Referenz:

[email protected]:~$ ssh-keygen
Generieren eines öffentlichen/privaten rsa-Schlüsselpaars.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/root/.ssh/id_rsa):
Verzeichnis '/root/ erstellt.ssh'.
Passphrase eingeben (leer für keine Passphrase):
Geben Sie dieselbe Passphrase erneut ein:
Ihre Identifikation wurde in /root/ gespeichert.ssh/id_rsa.
Ihr öffentlicher Schlüssel wurde in /root/ gespeichert.ssh/id_rsa.Kneipe.
Der wichtigste Fingerabdruck ist:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sree
Das Randomart-Bild des Schlüssels ist:
+---[RSA 2048]----+
| |
|             .  .|
|           . oo.o|
|           .=o=o+|
| E     S o .*oBo|
| .   .   * Ö+.+.=|
| … 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

2.1 Verwenden des Befehls ssh-copy-id

ssh-copy-id übernimmt das Kopieren und Einrichten des Schlüssels auf einem Remote-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 Passwort 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 Kontos des Remote-Benutzers 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 es mit einer Root-Root-Verbindung.

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

root@Source]]:~$ ssh-copy-id   [email protected] -S. 1986
Die Authentizität des Hosts '[192.1.1.19]: 1986 ([192.1.1.19]:1986)' kann nicht festgestellt werden.
Der Fingerabdruck des ECDSA-Schlüssels lautet SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImpTiMhHGgDqQFk.
Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)? Ja

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 mit den neuen Schlüsseln anzumelden,
um alle bereits installierten herauszufiltern
/usr/bin/ssh-copy-id: INFO: 1 Schlüssel müssen noch installiert werden -- wenn Sie dazu aufgefordert werden
Jetzt heißt es die neuen Schlüssel installieren
[email protected]:

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

Anzahl der hinzugefügten Schlüssel: 1

Versuchen Sie nun, sich am Computer anzumelden, mit: "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 id_rsa manually manuell anhängen.pub Datei in das /root/.ssh/authorized_keys Datei auf Ihrem Zielcomputer .  Wenn Sie den Schlüssel zum Root-Benutzer kopieren möchten, lautet der Speicherort /Wurzel/.ssh/authorized_keys .

Ab Schritt 1: Sie haben vielleicht die folgende Zeile gesehen

Ihr öffentlicher Schlüssel wurde gespeichert in /Wurzel/.ssh/id_rsa.Kneipe.

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 /root/.ssh/id_rsa.Kneipe
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

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 nach /root/.ssh/ Abschnitt

Erstellen Sie einen Ordner .ssh wenn es nicht existiert

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

[email protected]:$ ls -l /root/.ssh

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

[email protected]$ mkdir -p /root/.ssh
[email protected]$ touch /root/.ssh/authorized_keys
[email protected]:$ 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“ >>
/Wurzel/.ssh/authorized_keys

Stellen Sie sicher, dass die Berechtigung des Ordners korrekt ist

chmod -R go= /root/.ssh/

Versuchen Sie danach, sich von einem neuen Terminal aus beim Server anzumelden und stellen Sie sicher, dass die schlüssellose Authentifizierung wie erwartet funktioniert working.  Deaktivieren Sie erst dann die Passwort-Authentifizierung in der ssh-Konfiguration.

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, sonst 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.

Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...