GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Verwendung von ssh-copy-id unter Ubuntu

Eines der nützlichen Tools von SSH ist ssh-copy-id die verwendet wird, um den SSH-Schlüssel auf dem Remote-Server zu installieren, um sich beim Server anzumelden, ohne das Anmeldekennwort anzugeben. Single Sign-On und automatisierter passwortloser Login über SSH lassen sich mit diesem Tool einfach umsetzen. Es kopiert die öffentlichen Schlüssel auf die des entfernten Hosts ~ / .ssh / authorised _keys-Datei, indem Sie die Datei und das Verzeichnis nach Bedarf erstellen, die Berechtigungen einer vorhandenen Datei oder eines vorhandenen Ordners werden jedoch nicht geändert. Wie der Befehl ssh-copy-id für die SSH-Verbindung verwendet werden kann, wurde in diesem Tutorial erklärt.

Anforderungen:

Bevor Sie mit den Schritten in diesem Lernprogramm beginnen, müssen Sie die folgenden Schritte ausführen.

Aktivieren Sie den SSH-Dienst auf Ubuntu, wenn er nicht zuvor aktiviert wurde.
Generieren Sie die SSH-Schlüsselpaare, um die Befehle auf dem Remote-Server auszuführen. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel und den privaten Schlüssel zu erstellen. Der private Schlüssel wird auf dem Remote-Server gespeichert und die öffentlichen Schlüssel werden sicher im Client gespeichert.

$ ssh-keygen -T rsa

Führen Sie den folgenden Befehl aus, um die sshd_config zu öffnen Datei mit dem Nano-Editor, um einige notwendige Konfigurationen hinzuzufügen.

$ sudo Nano /Etc/ssh/sshd_config

Fügen Sie der Datei die folgenden Zeilen hinzu, um die Root-Anmeldung und die passwortbasierte Authentifizierung zu aktivieren.

Passwort-Authentifizierung Ja, Sir

PermitRootLogin Ja, Sir

Führen Sie den folgenden Befehl aus, um den SSH-Dienst neu zu starten.

$ sudo service ssh neu starten

Syntax:

Die Befehlssyntax von ssh-copy-id ist unten dargestellt. Es unterstützt mehrere Optionen, die später erklärt werden.

ssh-copy-id [-lv] [-i Schlüsseldatei] [-o Option][-p Port] [Benutzer@]Hostname

Verschiedene Optionen des Befehls ssh-copy-id:

Der Zweck der Verwendung verschiedener Optionen von ssh-copy-id-Befehlen wurde in diesem Teil des Tutorials beschrieben.

Gelegenheit Zweck
-i Schlüsseldatei Es wird verwendet, um den öffentlichen Schlüssel zu kopieren, der sich in einer Datei befindet . Es kann mehrfach verwendet werden.
-l Es wird verwendet, um die Schlüssel zu kopieren, die der SSH-Agent derzeit hat. Es wird als Standard verwendet, wenn die Option -i nicht angegeben ist.
-o ssh-Option Es wird verwendet, um direkt auf die Option zu verweisen. ssh weitergeben Es kann mehrfach verwendet werden.
-p Port Es wird verwendet, um sich mit dem angegebenen Port auf dem Remote-Host anstelle des Standardports 22 zu verbinden.
-v Es wird verwendet, um den Wert von -v an ssh zu übergeben.

Kopieren Sie den Schlüssel auf den Server:

Sie müssen den öffentlichen Schlüssel auf dem Server-Computer autorisieren, um die SSH-Verbindung ohne Verwendung eines Passworts herzustellen. Nachdem der öffentliche Schlüssel erstellt wurde, kann der Befehl ssh-copy-id den Schlüssel als autorisierten Schlüssel auf dem Servercomputer hinzufügen.

Führen Sie den folgenden Befehl auf dem Servercomputer aus, um einen neu erstellten öffentlichen Schlüssel als autorisierten Schlüssel des Servers hinzuzufügen.

$ ssh-copy-id fahmida@fahida-VirtualBox

Sie sehen die folgende Ausgabe, wenn der öffentliche Schlüssel bereits auf dem Remote-Server vorhanden ist; andernfalls wird der Schlüssel hinzugefügt.

Es wurde bereits erwähnt, dass die Option -i mit dem Befehl ssh-copy-id verwendet wird, um den öffentlichen Schlüssel aus der Datei hinzuzufügen. Wenn Sie den neu erstellten öffentlichen Schlüssel in der Standarddatei gespeichert haben, lautet der Dateiname id_rsa.pub . Sie haben jedoch beim Erstellen der Schlüsselpaare einen Dateinamen Ihrer Wahl angegeben und diesen Dateinamen dann mit der Option -i verwendet. Ich habe den öffentlichen Schlüssel in der Standarddatei gespeichert.

Führen Sie den folgenden Befehl auf dem Servercomputer aus, um den öffentlichen Schlüssel zum Servercomputer hinzuzufügen. Der Befehl kopiert den Schlüssel auf den Server und konfiguriert ihn so, dass der Schlüssel zu den authorized_keys hinzugefügt wird Datei für den Zugriff auf den Server.

$ ssh-copy-id -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Sie sehen die folgende Ausgabe, wenn der öffentliche Schlüssel nicht zuvor auf dem Servercomputer hinzugefügt wurde.


Überprüfen Sie die Verbindung:

Nachdem Sie den Schlüssel zum Server hinzugefügt haben, müssen Sie überprüfen, ob der Client-Computer eine Verbindung zum Server herstellen kann. Der Benutzername des Server-Computers ist „fahmida“, und der Client-Computer ist hier „yesmin“. Melden Sie sich also zuerst am Client-Computer an, um die Verbindung zu testen.

Führen Sie den folgenden Befehl aus, um die Identität des Servers zum Clientcomputer hinzuzufügen.

$ ssh-add

Führen Sie den folgenden ssh-Befehl ohne Optionen aus, um eine Verbindung zum Servercomputer herzustellen. Wenn die kennwortbasierte Authentifizierung auf dem Servercomputer aktiviert ist, muss der Benutzer ein gültiges Kennwort eingeben, um eine Verbindung zum Server herzustellen.

$ ssh fahmida@fahida-VirtualBox

Die folgende Ausgabe zeigt, dass die Identität des Servers zum Clientcomputer hinzugefügt wurde. Als nächstes wurde das Passwort des Server-Benutzers für die Verbindung abgefragt, da auf dem Server-Rechner die passwortbasierte Authentifizierung aktiviert war. Der Benutzername wird in der Eingabeaufforderung von „yesmin“ in „fahmida“ geändert, was anzeigt, dass die Verbindung nach Eingabe des gültigen Passworts ordnungsgemäß hergestellt wurde.

Um den Dateinamen des öffentlichen Schlüssels mit dem Speicherort für die Verbindung zum Server anzugeben, führen Sie den folgenden ssh-Befehl mit der Option -i aus. Es ist erforderlich, wenn Sie den öffentlichen Schlüssel unter dem benutzerdefinierten Dateinamen speichern. Ich habe zum Zeitpunkt der Schlüsselgenerierung den Standarddateinamen id_rsa verwendet.

$ ssh -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Wie zuvor werden Sie nach dem Passwort gefragt, um sich mit dem Server zu verbinden. Die Ausgabe zeigt, dass die Verbindung korrekt hergestellt wurde und sich der Prompt-Benutzername geändert hat. Sie können die Konfigurationsdatei des Servers ändern, um die passwortbasierte Authentifizierung zu deaktivieren, wenn Sie beim Herstellen einer Verbindung zum Server kein Passwort angeben möchten.

Diplom:

Die Verwendung des Befehls ssh-copy-id zum Herstellen einer Verbindung mit dem Remote-Host wurde in diesem Tutorial unter Verwendung von zwei lokalen Host-Benutzerkonten beschrieben, um den Lesern zu helfen, zu verstehen, wie dieser Befehl funktioniert.


Ubuntu
  1. So richten Sie einen FTP-Server in Ubuntu Linux ein und verwenden ihn

  2. So installieren Sie MySQL unter Ubuntu 18.04

  3. So installieren Sie Zimbra 8.6 auf einem Ubuntu 14.04-Server

  4. So installieren und verwenden Sie Telnet unter Ubuntu 20.04 LTS

  5. So verwenden Sie Ubuntu Server Disk Top

So installieren Sie den OpenSIPS-Server unter Ubuntu 15.04

So konfigurieren Sie OpenVPN unter Ubuntu 16.04

So verwenden Sie SSH, um eine Verbindung zu einem Remote-Server in Ubuntu 20.04 LTS herzustellen

So verwenden Sie Ubuntu

So verwenden Sie die E-Mail-Verschlüsselung in Ubuntu

So installieren Sie Plex Media Server auf Ubuntu 16.04 Server/Desktop