So verwenden Sie SSH-Copy-ID auf Ubuntu

So verwenden Sie SSH-Copy-ID auf Ubuntu
Eines der nützlichen Werkzeuge von SSH ist ssh-copy-id Damit wird der SSH -Schlüssel auf dem Remote -Server installiert, um sich auf dem Server anzumelden, ohne das Kennwort für die Anmeldung anzugeben. Daher kann die einzelne Anmeldung und das automatisierte Anmeldung ohne Kennwort mit SSH einfach mit diesem Tool implementiert werden. Es kopiert die öffentlichen Schlüssel an die Remote -Gastgeber ~/.SSH/autorisiert_Keys Datei durch Erstellen der Datei und des Verzeichnisse. Wie der Befehl ssh-copy-id für die SSH-Verbindung verwendet werden kann, wurde in diesem Tutorial erläutert.

Voraussetzungen:

Bevor Sie mit den Schritten dieses Tutorials beginnen, müssen die folgenden Schritte ausgeführt werden.

Aktivieren Sie den SSH -Dienst auf Ubuntu, wenn er vorher nicht aktiviert ist.
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 zu öffnen sshd_config Datei mit dem Nano -Editor zum Hinzufügen einiger notwendiger Konfigurationen.

$ sudo nano/etc/ssh/sshd_config

Fügen Sie die folgenden Zeilen in der Datei hinzu, um die Stammanmeldung und die kennwortbasierte Authentifizierung zu aktivieren.

PasswortAuthentication Ja
Erlaubnisrootlogin Ja

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

$ sudo Service SSH Neustart

Syntax:

Die Syntax des Befehls ssh-copy-id ist unten angegeben. Es unterstützt mehrere Optionen, die später erläutert werden.

ssh-copy-id [-lv] [-i keyfile] [-o option] [-p port] [user@] hostname

Verschiedene Optionen des SSH-Copy-ID-Befehls:

Die Zwecke der Verwendung verschiedener Optionen von SSH-Copy-ID-Befehlen wurden in diesem Teil des Tutorials beschrieben.

Möglichkeit Zweck
-I Keyfile Es wird verwendet, um den öffentlichen Schlüssel zu kopieren, der in a gespeichert ist Datei. Es kann mehrmals verwendet werden.
-l Es wird verwendet, um die derzeit vom SSH-Agent gehaltenen Schlüssel zu kopieren. Es wird als Standard verwendet, wenn die Option -i nicht angegeben ist.
-o ssh-option Es wird verwendet, um die Option direkt an SSH zu übergeben. Es kann mehrmals verwendet werden.
-p Port Es wird verwendet, um eine Verbindung mit dem angegebenen Port auf dem Remote -Host anstelle des Standardports mit 22 zu erreichen.
-v Es wird verwendet, um den Wert von -v an SSH zu übergeben.

Kopie auf den Server:

Sie müssen den öffentlichen Schlüssel in der Servermaschine autorisieren, um die SSH -Verbindung zu erstellen, ohne ein Kennwort zu verwenden. Nach dem Erstellen des öffentlichen Schlüssels kann der Befehl ssh-copy-id den Schlüssel als autorisierter Schlüssel auf der Servermaschine hinzufügen.

Führen Sie den folgenden Befehl vom Server -Computer aus, um einen neu erstellten öffentlichen Schlüssel als autorisierte Schlüssel des Servers hinzuzufügen.

$ ssh-copy-id fahmida@fahmida-virtualbox

Die folgende Ausgabe wird angezeigt, wenn der öffentliche Schlüssel bereits auf dem Remote -Server vorhanden ist. Andernfalls wird der Schlüssel hinzugefügt.

Es wird bereits erwähnt, dass die Option -i-Option 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, wäre der Dateiname id_rsa.Pub. Sie haben jedoch den Dateinamen beim Erstellen der Schlüsselpaare festgelegt und diesen Dateinamen mit der Option -i verwenden. Ich habe den öffentlichen Schlüssel in der Standarddatei gespeichert.

Führen Sie den folgenden Befehl vom Servergerät aus, um den Servermaschine den öffentlichen Schlüssel hinzuzufügen. Der Befehl kopiert den Schlüssel zum Server und konfigurieren ihn, um den Schlüssel zum Taste hinzuzufügen Autorisierte_Keys Datei, um auf den Server zuzugreifen.

$ ssh-copy-id -i ~/.ssh/id_rsa fahmida@fahmida-virtualbox

Die folgende Ausgabe wird angezeigt, wenn der öffentliche Schlüssel nicht zuvor in die Servermaschine hinzugefügt wird.

Überprüfen Sie die Verbindung:

Nach dem Hinzufügen des Schlüssels zum Server müssen Sie überprüfen, ob der Client -Computer eine Verbindung zum Server herstellen kann. Der Benutzername des Servergeräts lautet "Fahmida", und der Client -Computer ist hier "Jamin". Melden Sie sich also zuerst beim Client -Computer an, um die Verbindung zu testen.

Führen Sie den folgenden Befehl aus, um die Identität des Servers dem Client -Computer hinzuzufügen.

$ ssh-add

Führen Sie den folgenden SSH -Befehl ohne Option aus, um eine Verbindung mit der Servermaschine herzustellen. Wenn die kennwortbasierte Authentifizierung im Servergerät aktiviert ist, muss der Benutzer ein gültiges Kennwort bereitstellen, um eine Verbindung mit dem Server herzustellen.

$ ssh fahmida@fahmida-virtualbox

Die folgende Ausgabe zeigt, dass die Identität des Servers dem Client -Computer hinzugefügt wurde. Als nächstes hat das Kennwort des Benutzer des Servers nach der Verbindung gefragt, da die kennwortbasierte Authentifizierung hier im Servergerät aktiviert wurde. Der Benutzername wird in der Eingabeaufforderung in "fahmida" aus der "Jamin" geändert, die angibt, dass die Verbindung ordnungsgemäß nach dem gültigen Passwort festgelegt wurde.

Wenn Sie den Dateinamen des öffentlichen Schlüssels mit dem Ort erwähnen möchten, um die Verbindung mit dem Server herzustellen, führen Sie den folgenden SSH -Befehl mit der Option -i aus. Wenn Sie den öffentlichen Schlüssel im benutzerdefinierten Dateinamen speichern. Ich habe den Standarddateinamen zum Zeitpunkt der Schlüsselgenerierung verwendet, nämlich ID_RSA.

$ ssh -i ~/.ssh/id_rsa fahmida@fahmida-virtualbox

Es wird nach dem Passwort wie zuvor gefragt, um die Verbindung mit dem Server herzustellen. Die Ausgabe zeigt, dass die Verbindung ordnungsgemäß hergestellt wurde und der Benutzername der Eingabeaufforderung geändert wurde. Sie können die Konfigurationsdatei des Servers ändern, um die kennwortbasierte Authentifizierung zu deaktivieren, wenn Sie kein Kennwort angeben möchten, wann immer Sie eine Verbindung mit dem Server herstellen möchten.

Abschluss:

Die Verwendung des Befehls ssh-copy-id zur Verbindung mit dem Remote-Host wurde in diesem Tutorial beschrieben, indem zwei Benutzerkonten des lokalen Hosts verwendet werden, um den Lesern zu helfen, die Funktion dieses Befehls ordnungsgemäß zu kennen.