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

So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein

SSH steht für „Secure Shell“ und ist ein verschlüsseltes Protokoll, das zum Anmelden und Verwalten eines Remote-Servers verwendet wird. SSH unterstützt auch verschiedene Authentifizierungsmechanismen. SSH verwendet eine passwortbasierte Authentifizierung und eine auf öffentlichen Schlüsseln basierende Authentifizierung für eine sichere Verbindung zwischen einem Client und einem Server. Die schlüsselbasierte SSH-Authentifizierung ist sicherer als die kennwortbasierte Authentifizierung, da Schlüssel mit der derzeit verfügbaren Rechenleistung sehr schwer zu erraten oder zu knacken sind.

In diesem Tutorial zeigen wir Ihnen, wie Sie die SSH-Schlüssel-basierte Authentifizierung auf einem Ubuntu 18.04-Server einrichten.

Voraussetzungen

  • Zwei frische Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
  • Root-Passwörter auf beiden Servern konfiguriert.

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y
apt-get upgrade -y

Schritt 2 – Generieren Sie den SSH-Schlüssel auf dem Client-Rechner

Melden Sie sich zuerst bei Ihrem Client-Rechner an und generieren Sie ein neues SSH-Schlüsselpaar, indem Sie den folgenden Befehl ausführen:

ssh-keygen -t rsa

Sie müssen Enter drücken um den standardmäßigen Dateispeicherort zu akzeptieren und eine Passphrase bereitzustellen, um eine zusätzliche Sicherheitsebene hinzuzufügen, wie unten gezeigt:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cd:58:c4:35:60:6f:a4:2e:f0:b7:42:c5:20:78:86:b2 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     o. ..+o+    |
|  . o o. =.+ .   |
|   o o.   = o    |
|  E    o B .     |
|        S =      |
|       . o .     |
|        . .      |
|         .       |
|                 |
+-----------------+

Der obige Befehl generiert ein 2048-Bit-RSA-Schlüsselpaar mit einer sicheren Passphrase, um zu verhindern, dass sich unbefugte Benutzer anmelden.

Sie können die generierten öffentlichen und privaten Schlüssel mit dem folgenden Befehl anzeigen:

ls -l .ssh/id_rsa*

Sie sollten die folgende Ausgabe sehen:

-rw------- 1 root root 1766 Nov  1 11:03 .ssh/id_rsa
-rw-r--r-- 1 root root  401 Nov  1 11:03 .ssh/id_rsa.pub

An diesem Punkt haben Sie öffentliche und private Schlüssel, mit denen Sie sich bei Ihrem Ubuntu-Server authentifizieren können.

Schritt 3 – Kopieren Sie den öffentlichen Schlüssel auf den Ubuntu-Server

Als nächstes müssen Sie den öffentlichen Schlüssel vom Client-Computer auf Ihren Ubuntu 18.04-Server kopieren. Sie können den öffentlichen Schlüssel wie unten gezeigt mit dem Dienstprogramm ssh-copy-id kopieren:

ssh-copy-id [email protected]

Sie sollten die folgende Ausgabe sehen:

The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.
ECDSA key fingerprint is f7:9c:72:63:33:ac:d6:49:26:9c:af:c6:ff:11:27:01.
Are you sure you want to continue connecting (yes/no)? yes

Geben Sie „ja ein “ und drücken Sie ENTER weitermachen. Sie sollten die folgende Ausgabe sehen:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Als nächstes werden Sie aufgefordert, den Remote-Benutzernamen und das Kennwort einzugeben. Nach der erfolgreichen Authentifizierung wird der Inhalt des öffentlichen Schlüssels ~/.ssh/id_rsa.pub an die ~/.ssh/authorized_keys-Datei des entfernten Benutzers angehängt, wie unten gezeigt:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Schritt 4 – SSH-Passwortauthentifizierung deaktivieren

Melden Sie sich als Nächstes bei Ihrem Ubuntu 18.04-Servercomputer an und deaktivieren Sie die kennwortbasierte SSH-Authentifizierung, um Ihrem Server eine zusätzliche Sicherheitsebene hinzuzufügen.

Sie können die passwortbasierte Authentifizierung deaktivieren, indem Sie die Datei /etc/ssh/sshd_config:

bearbeiten
nano /etc/ssh/sshd_config

Suchen Sie die folgenden Zeilen und ändern Sie den Wert auf „no“:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Speichern und schließen Sie die Datei und starten Sie dann den SSH-Dienst neu, um die Konfiguration zu übernehmen:

systemctl restart ssh

Schritt 5 – Melden Sie sich mit SSH-Schlüsseln beim Server an

An diesem Punkt wird die schlüsselbasierte SSH-Authentifizierung konfiguriert. Jetzt ist es an der Zeit, sich mit dem öffentlichen Schlüssel beim Ubuntu 18.04-Servercomputer anzumelden.

Sie können sich bei Ihrem Ubuntu 18.04-Server anmelden, indem Sie einfach den folgenden Befehl ausführen:

ssh [email protected]

Wenn Sie sich zum ersten Mal anmelden, werden Sie wie unten gezeigt aufgefordert:

The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.
ECDSA key fingerprint is f7:9c:72:63:33:ac:d6:49:26:9c:af:c6:ff:11:27:01.
Are you sure you want to continue connecting (yes/no)? yes

Geben Sie Ja ein und drücken Sie Enter Schlüssel zum Fortfahren. Als nächstes werden Sie aufgefordert, die Passphrase für Ihren privaten Schlüssel einzugeben, wie unten gezeigt:

Enter passphrase for key '/root/.ssh/id_rsa':

Geben Sie Ihre Passphrase für den privaten Schlüssel ein und drücken Sie Enter um sich bei Ihrem Server anzumelden.

Schlussfolgerung

Im obigen Tutorial haben wir gelernt, wie man eine SSH-Schlüssel-basierte Authentifizierung mit einer Passphrase unter Ubuntu 18.04 einrichtet. Die Verbindung zwischen Ihrem Client-Rechner und dem Ubuntu 18.04-Server-Rechner ist jetzt hochsicher. Sie können denselben Schlüssel auch für einen anderen Remote-Server verwenden. Wenn Sie bereit sind, mit der schlüsselbasierten SSH-Authentifizierung zu beginnen, probieren Sie VPS-Hosting mit Atlantic.Net noch heute aus.


Linux
  1. So generieren Sie SSH-Schlüssel unter Ubuntu 18.04

  2. So richten Sie SSH-Schlüssel ein

  3. So richten Sie SSH-Schlüssel unter Ubuntu 16.04 ein

  4. So richten Sie SSH-Schlüssel unter Debian ein

  5. Wie übertrage ich meine SSH-Schlüssel auf einen anderen Computer?

So richten Sie SSH-Schlüssel unter Debian 10 ein

Wie richte ich SSH-Schlüssel ein – Windows-Betriebssystem?

So richten Sie den öffentlichen und privaten SSH-Schlüssel unter Linux ein

So richten Sie einen SSH-Schlüssel auf einem Plesk-Server ein

So richten Sie SSH-Schlüssel unter Debian 11 Linux ein

So verbessern Sie die SSH-Sicherheit unter Ubuntu 18.04