So verwenden Sie den Befehl ssh-copy-id

How Use Ssh Copy Id Command



Der Befehl ssh-copy-id ist ein einfaches Tool, mit dem Sie einen SSH-Schlüssel auf den autorisierten Schlüsseln eines Remote-Servers installieren können. Dieser Befehl erleichtert die SSH-Schlüsselanmeldung, wodurch die Notwendigkeit eines Kennworts für jede Anmeldung entfällt und so ein kennwortloser, automatischer Anmeldeprozess gewährleistet ist. Der Befehl ssh-copy-id ist Teil von OpenSSH, einem Tool zur Durchführung von Remote-Systemverwaltungen über verschlüsselte SSH-Verbindungen.

In diesem Artikel erfahren Sie, wie Sie mit dem Tool ssh-copy-id Ihre SSH-Anmeldungen nahtloser und sicherer machen.







So installieren Sie den Befehl ssh-copy-id

Das Tool ssh-copy-id, das Teil des OpenSSH-Pakets ist, ist in allen wichtigen Linux-Distributions-Repositorys verfügbar, und Sie können Ihren Paketmanager verwenden, um diesen Befehl zu installieren.



Um das ssh-copy-id-Tool unter Debian zu installieren, verwenden Sie den folgenden Befehl:



sudo apt-get-Update && sudo apt-get installierenopenssh-client

Sobald Sie OpenSSH installiert haben, können Sie das ssh-copy-id-Tool in der Befehlszeile verwenden.





$ ssh-copy-id

Verwendungszweck:/usr/bin/ssh-copy-id[-h|-?|-F|-n] [-ich[Identitätsdatei]] [-p Port] [[-oder<ssh -oderOptionen>]...] [Benutzer@]Hostname-f: Kraftmodus-Schlüssel kopieren, ohne zu überprüfenwennsie sind bereits installiert -n: Trockenlauf-es werden keine Schlüssel kopiert-h|-?: Drucken Sie diesHilfe

Die Verwendung von ssh-copy-id ist einfach, da das Skript den Authentifizierungsprozess mit öffentlichen Schlüsseln einfacher und effizienter macht. Bevor wir uns mit der Verwendung des Tools befassen, werden wir zunächst besprechen, wie die SSH-Authentifizierung mit öffentlichem Schlüssel funktioniert.

HINWEIS : Wenn Sie bereits wissen, wie die SSH-Authentifizierung mit öffentlichem Schlüssel funktioniert, können Sie diesen Teil überspringen und tiefer in die sofortige Verwendung des Befehls ssh-copy-id eintauchen.



SSH-Authentifizierung mit öffentlichem Schlüssel

Die Authentifizierung mit öffentlichem SSH-Schlüssel ist eine SSH-Authentifizierungsmethode, mit der Benutzer kryptografisch generierte Schlüssel verwenden können, um sich bei Remoteservern anzumelden.

SSH-Schlüssel sind sicherer als unformatierte Passwörter und bieten eine viel effizientere Möglichkeit, sich bei SSH anzumelden. SSH-Schlüssel sind automatisiert und erfordern nach der Autorisierung kein Passwort bei jeder Anmeldung.

Um einen SSH-Schlüssel zu verwenden, beginnen wir mit der Generierung eines Schlüssels.

So generieren Sie einen SSH-Schlüssel

Um einen SSH-Schlüssel zu generieren, verwenden Sie das ssh-keygen-Tool, das Teil von OpenSSH ist. Dieses Tool generiert öffentliche und private Schlüsseldateien, die im Verzeichnis ~/.ssh gespeichert sind, wie unten gezeigt.

$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:ddVOQhS6CGt8Vnertz9aiSnvoUKmSpPrZ+gI24DptsA root@Benutzer Der Schlüssel's Randomart-Bild ist:
+---[RSA 2048]----+
| o=o |
| Ö. o|
| . . +. +. |
| . + + o .o|
| S+. . |
|. o ..o o + .|
|.Und das +. +. + + |
|o. = o.o+ .o.+..|
| .o .. oo =+ o = o.+ |
+----[SHA256]-----+

So kopieren Sie einen SSH-Schlüssel mit SSH-copy-id

Sobald wir einen SSH-Schlüssel generiert haben, können wir den SSH-Schlüssel manuell zur Datei 'authorized_keys' des Remote-Computers hinzufügen oder den Befehl ssh-copy-id verwenden.

Wir werden den Befehl ssh-copy-id verwenden, um diesen Vorgang zu vereinfachen. Rufen Sie einfach den Befehl ssh-copy-id auf und übergeben Sie den Pfad zum öffentlichen Schlüssel wie folgt:

$ssh-copy-id-ich~/.ssh/id_rsa.pub-Benutzer@77.134.54.101-P 6576

Nach Eingabe des obigen Befehls sollten Sie die folgende Ausgabe erhalten:

/usr/bin/ssh-copy-id: INFO: Quelle des Schlüssels(S)installiert werden:'/root/.ssh/id_rsa.pub'
/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- wennSie werden aufgefordert, jetzt ist es zuInstallierender neue Schlüsselbenutzer@Passwort von 77.134.54.101:
Anzahl der Schlüssel(S)hinzugefügt:1Versuchen Sie nun, sich bei der Maschine anzumelden, mit:'ssh -p '6576' ' [email protected] ''und prüfe aufmachensicher, dass nur der schlüssel(S)Sie wollten hinzugefügt wurden.

HINWEIS : Kopieren Sie Ihren privaten Schlüssel niemals auf einen anderen Computer.

Nachdem der Befehl erfolgreich ausgeführt wurde, versuchen Sie, sich mit dem von Ihnen hochgeladenen Schlüssel wie folgt beim Server anzumelden:

$ssh -P 6576linkfy@77.134.54.101

Der obige Befehl erfordert, dass Sie die Passphrase für Ihren öffentlichen Schlüssel eingeben, wie in der folgenden Ausgabe gezeigt:

Passphrase eingebenzumSchlüssel'/root/.ssh/id_rsa':
Letzter Login: Fr März5 14: 06:16 2021ab 173.208.98.186

Der obige Befehl sollte es Ihnen ermöglichen, sich beim Remote-Host anzumelden, ohne nach dem Passwort des Benutzers zu fragen. Das System fordert Sie möglicherweise auf, die Passphrase des Schlüssels einzugeben, die Sie zuvor eingerichtet haben.

SSH-copy-id-Befehlsoptionen

Sie können die Funktionsweise des Befehls ssh-copy-id ändern, indem Sie die bereitgestellten Argumente verwenden. Um die Hilfeseite anzuzeigen, verwenden Sie den Befehl ssh-copy-id -h oder verwenden Sie den Befehl ssh-copy-id ohne Argumente.

  1. -ich argumentiere : Dieses Argument gibt die zu verwendende Identitätsdatei an, d. h. auf den angegebenen Remote-Host kopiert. Wenn Sie das Argument -i nicht angeben, werden alle Dateien im Verzeichnis ~/.ssh mit dem übereinstimmenden Muster *.pub hinzugefügt.
  2. -f Flagge : Dieses Flag aktiviert den erzwungenen Modus, der nicht überprüft, ob der Schlüssel in authorisierten_Schlüsseln auf dem Server vorkonfiguriert ist. Das Flag -f fügt einen Schlüssel hinzu, was oft dazu führt, dass mehrere Kopien desselben Schlüssels auf dem Server installiert werden.
  3. -p-Flag : Dieses Flag gibt den SSH-Port für die Verbindung mit dem Remote-Host an. Dieses Flag wird verwendet, wenn der Standard-SSH-Port nicht verwendet wird.
  4. -n Flagge : Dieses Flag führt einen Probelauf durch, bei dem die für die Installation vorgesehenen Schlüssel gedruckt werden, ohne sie auf dem Remote-Host zu installieren.

Abschluss

In dieser Anleitung wurde gezeigt, wie Sie mit dem Befehl ssh-copy-id SSH-Schlüssel auf Remote-Hosts installieren. Obwohl dies eine einfache und effiziente Methode zur Installation von Schlüsseln sein kann, können falsch konfigurierte Schlüssel zu Sicherheitsproblemen führen oder aus dem System ausgesperrt werden. Seien Sie daher äußerst vorsichtig, wenn Sie mit diesem Verfahren experimentieren.