ssh

So verwenden Sie den Befehl ssh-copy-id

So verwenden Sie den Befehl ssh-copy-id

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 Passworts für jede Anmeldung entfällt und so ein passwortfreier, automatischer Anmeldeprozess gewährleistet ist. Der Befehl ssh-copy-id ist Teil von OpenSSH, einem Tool zur Durchführung von Remote-Systemverwaltungen mit verschlüsselten SSH-Verbindungen.

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

So installieren Sie den Befehl ssh-copy-id

Das Tool ssh-copy-id, Teil des OpenSSH-Pakets, 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 install openssh-client

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

$ ssh-copy-id
Verwendung: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o ]… ] [user@]hostname         -f: Force mode – Schlüssel kopieren, ohne zu prüfen, ob sie bereits installiert sind         -n: Probelauf    – es werden keine Schlüssel kopiert         -h|-?: diese Hilfe ausdrucken

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, besprechen wir zunächst, 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 Remote-Servern 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 ~/ gespeichert sind.ssh-Verzeichnis, wie unten gezeigt.

$ 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:ddVOQhS6CGt8Vnertz9aiSnvoUKmSpPrZ+gI24DptsA root@user Das Randomart-Image des Schlüssels ist:
+---[RSA 2048]----+
| o=o |
| Ö. o|
| … + .+.|
|       . + + Ö .o|
| S + .  . |
|. o   … o o  + .|
|.E o   +. +. + + |
|o.  = aus.Ö+ .Ö.+… |
|.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 -i ~/.ssh/id_rsa.pub [email protected] -p 6576

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

/usr/bin/ssh-copy-id: INFO: Quelle der zu installierenden Schlüssel: "/root/.ssh/id_rsa.Kneipe"
/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: Es müssen noch 1 Schlüssel installiert werden -- wenn Sie jetzt dazu aufgefordert werden, müssen die neuen Schlüssel installiert werden [email protected] Passwort:
Anzahl der hinzugefügten Schlüssel: 1 Versuchen Sie nun, sich am Computer anzumelden, mit:   "ssh -p '6576"[email protected]'" und vergewissern Sie sich, dass nur die gewünschten Schlüssel hinzugefügt wurden.

HINWEIS: Kopieren Sie niemals Ihren privaten Schlüssel 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 6576 [email protected]

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

Geben Sie die Passphrase für den Schlüssel '/root/ ein.ssh/id_rsa':
Letztes Login: Fr. Mär 5 14:06:16 2021 ab 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.e., auf den angegebenen Remote-Host kopiert. Wenn Sie das Argument -i nicht angeben, werden alle Dateien im ~/.ssh-Verzeichnis mit dem passenden Muster *.Kneipe wird hinzugefügt.
  2. -f Flagge: Dieses Flag aktiviert den erzwungenen Modus, der nicht prü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 sind.
  3. -p-Flagge: 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, der die für die Installation vorgesehenen Schlüssel druckt, ohne sie auf dem Remote-Host zu installieren.

Fazit

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 Prozess experimentieren.

Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...