So konfigurieren Sie die schlüsselbasierte SSH-Authentifizierung auf einem Linux-Server

Einführung

SSH oder Secure Shell ist ein verschlüsseltes Protokoll zur Verwaltung und Kommunikation mit Servern. Wenn Sie mit einem Linux-Server arbeiten, verbringen Sie wahrscheinlich die meiste Zeit in einer Terminalsitzung, die über SSH mit Ihrem Server verbunden ist.

Es gibt verschiedene Möglichkeiten, sich bei einem SSH-Server anzumelden. In diesem Handbuch konzentrieren wir uns jedoch auf das Einrichten von SSH-Schlüsseln. SSH-Schlüssel bieten eine einfache und dennoch äußerst sichere Möglichkeit, sich bei Ihrem Server anzumelden. Aus diesem Grund empfehlen wir diese Methode allen Benutzern.

Wie funktionieren SSH-Schlüssel?

Ein SSH-Server kann Clients mithilfe verschiedener Methoden authentifizieren. Die einfachste davon ist die Kennwortauthentifizierung, die einfach zu verwenden ist, jedoch nicht die sicherste.

Obwohl Passwörter auf sichere Weise an den Server gesendet werden, sind sie im Allgemeinen nicht komplex oder lang genug, um wiederholten, dauerhaften Angreifern standzuhalten. Moderne Rechenleistung kombiniert mit automatisierten Skripten machen das brachiale Erzwingen eines kennwortgeschützten Kontos sehr gut möglich. Obwohl es andere Methoden zum Hinzufügen zusätzlicher Sicherheit gibt ("+ fail2ban +" usw.), erweisen sich SSH-Schlüssel als zuverlässige und sichere Alternative.

SSH-Schlüsselpaare sind zwei kryptografisch sichere Schlüssel, mit denen ein Client bei einem SSH-Server authentifiziert werden kann. Jedes Schlüsselpaar besteht aus einem öffentlichen und einem privaten Schlüssel.

Der private Schlüssel wird vom Kunden aufbewahrt und sollte absolut geheim gehalten werden. Bei jeder Beeinträchtigung des privaten Schlüssels kann sich der Angreifer auf Servern anmelden, die mit dem zugehörigen öffentlichen Schlüssel konfiguriert sind, ohne dass eine zusätzliche Authentifizierung erforderlich ist. Als zusätzliche Vorsichtsmaßnahme kann der Schlüssel mit einer Passphrase auf der Festplatte verschlüsselt werden.

Der zugehörige öffentliche Schlüssel kann ohne negative Folgen frei weitergegeben werden. Mit dem öffentlichen Schlüssel können Nachrichten verschlüsselt werden, die * nur * mit dem privaten Schlüssel entschlüsselt werden können. Diese Eigenschaft wird zur Authentifizierung mithilfe des Schlüsselpaars verwendet.

Der öffentliche Schlüssel wird auf einen Remote-Server hochgeladen, auf dem Sie sich mit SSH anmelden möchten. Der Schlüssel wird zu einer speziellen Datei innerhalb des Benutzerkontos hinzugefügt, in das Sie sich einloggen.

Wenn ein Client versucht, sich mit SSH-Schlüsseln zu authentifizieren, kann der Server prüfen, ob er über den privaten Schlüssel verfügt. Wenn der Client nachweisen kann, dass er den privaten Schlüssel besitzt, wird eine Shell-Sitzung gestartet oder der angeforderte Befehl ausgeführt.

So erstellen Sie SSH-Schlüssel

Der erste Schritt zum Konfigurieren der SSH-Schlüsselauthentifizierung für Ihren Server besteht darin, ein SSH-Schlüsselpaar auf Ihrem lokalen Computer zu generieren.

Zu diesem Zweck können wir ein spezielles Hilfsprogramm namens "+ ssh-keygen +" verwenden, das in der standardmäßigen OpenSSH-Tool-Suite enthalten ist. Standardmäßig wird ein 2048-Bit-RSA-Schlüsselpaar erstellt, was für die meisten Verwendungszwecke ausreichend ist.

Generieren Sie auf Ihrem lokalen Computer ein SSH-Schlüsselpaar, indem Sie Folgendes eingeben:

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home//.ssh/id_rsa):

Das Dienstprogramm fordert Sie auf, einen Speicherort für die zu generierenden Schlüssel auszuwählen. Standardmäßig werden die Schlüssel im Verzeichnis "+ ~ / .ssh " im Home-Verzeichnis Ihres Benutzers gespeichert. Der private Schlüssel heißt " id_rsa " und der zugehörige öffentliche Schlüssel heißt " id_rsa.pub +".

Normalerweise ist es an dieser Stelle am besten, den Standardspeicherort beizubehalten. Auf diese Weise kann Ihr SSH-Client Ihre SSH-Schlüssel beim Authentifizierungsversuch automatisch finden. Wenn Sie einen nicht standardmäßigen Pfad auswählen möchten, geben Sie diesen jetzt ein. Andernfalls drücken Sie die EINGABETASTE, um den Standard zu übernehmen.

Wenn Sie zuvor ein SSH-Schlüsselpaar generiert haben, wird möglicherweise die folgende Eingabeaufforderung angezeigt:

/home//.ssh/id_rsa already exists.
Overwrite (y/n)?

Wenn Sie den Schlüssel auf der Festplatte überschreiben, können Sie sich nicht mehr mit dem vorherigen Schlüssel * authentifizieren *. Seien Sie sehr vorsichtig bei der Auswahl von Ja, da dies ein destruktiver Prozess ist, der nicht rückgängig gemacht werden kann.

Created directory '/home//.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Als Nächstes werden Sie aufgefordert, eine Passphrase für den Schlüssel einzugeben. Dies ist eine optionale Passphrase, mit der die private Schlüsseldatei auf der Festplatte verschlüsselt werden kann.

Sie fragen sich möglicherweise, welche Vorteile ein SSH-Schlüssel bietet, wenn Sie noch eine Passphrase eingeben müssen. Einige der Vorteile sind:

  • Der private SSH-Schlüssel (der Teil, der durch Passphrasen geschützt werden kann) wird niemals im Netzwerk angezeigt. Die Passphrase wird nur zum Entschlüsseln des Schlüssels auf dem lokalen Computer verwendet. Dies bedeutet, dass netzwerkbasiertes Brute Forcing für die Passphrase nicht möglich ist.

  • Der private Schlüssel wird in einem eingeschränkten Verzeichnis gespeichert. Der SSH-Client erkennt keine privaten Schlüssel, die nicht in eingeschränkten Verzeichnissen gespeichert sind. Der Schlüssel selbst muss über eingeschränkte Berechtigungen verfügen (Lesen und Schreiben nur für den Eigentümer möglich). Dies bedeutet, dass andere Benutzer im System keine Informationen abrufen können.

  • Jeder Angreifer, der die Passphrase des privaten SSH-Schlüssels knacken möchte, muss bereits Zugriff auf das System haben. Dies bedeutet, dass sie bereits Zugriff auf Ihr Benutzerkonto oder das Root-Konto haben. Wenn Sie sich in dieser Position befinden, kann die Passphrase den Angreifer daran hindern, sich sofort bei Ihren anderen Servern anzumelden. Dies gibt Ihnen hoffentlich Zeit, um ein neues SSH-Schlüsselpaar zu erstellen und zu implementieren und den Zugriff auf den gefährdeten Schlüssel zu entfernen.

Da der private Schlüssel niemals für das Netzwerk zugänglich ist und durch Dateiberechtigungen geschützt ist, sollte diese Datei nur für Sie (und den Root-Benutzer) zugänglich sein. Die Passphrase dient als zusätzliche Schutzschicht, falls diese Bedingungen beeinträchtigt werden.

Eine Passphrase ist eine optionale Ergänzung. Wenn Sie einen Schlüssel eingeben, müssen Sie ihn bei jeder Verwendung dieses Schlüssels angeben (es sei denn, Sie führen eine SSH-Agentensoftware aus, in der der entschlüsselte Schlüssel gespeichert ist). Wir empfehlen die Verwendung einer Passphrase. Wenn Sie jedoch keine Passphrase festlegen möchten, können Sie einfach die EINGABETASTE drücken, um diese Eingabeaufforderung zu umgehen.

Your identification has been saved in /home//.ssh/id_rsa.
Your public key has been saved in /home//.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 @remote_host
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

Sie haben jetzt einen öffentlichen und einen privaten Schlüssel, mit denen Sie sich authentifizieren können. Der nächste Schritt besteht darin, den öffentlichen Schlüssel auf Ihrem Server abzulegen, damit Sie sich mit der SSH-Schlüsselauthentifizierung anmelden können.

So binden Sie Ihren öffentlichen Schlüssel beim Erstellen Ihres Servers ein

Wenn Sie einen neuen DigitalOcean-Server starten, können Sie Ihren öffentlichen SSH-Schlüssel automatisch in das Root-Konto Ihres neuen Servers einbetten.

Im unteren Bereich der Droplet-Erstellungsseite können Sie Ihrem Server SSH-Schlüssel hinzufügen:

Wenn Sie Ihrem DigitalOcean-Konto bereits eine öffentliche Schlüsseldatei hinzugefügt haben, wird diese hier als auswählbare Option angezeigt (im obigen Beispiel sind zwei Schlüssel vorhanden: "Arbeitsschlüssel" und "Home-Schlüssel"). Um einen vorhandenen Schlüssel einzubetten, klicken Sie einfach darauf und er wird hervorgehoben. Sie können mehrere Schlüssel auf einem einzigen Server einbetten:

Wenn Sie noch keinen öffentlichen SSH-Schlüssel in Ihr Konto hochgeladen haben oder wenn Sie Ihrem Konto einen neuen Schlüssel hinzufügen möchten, klicken Sie auf die Schaltfläche „+ SSH-Schlüssel hinzufügen“. Dies wird zu einer Eingabeaufforderung erweitert:

Fügen Sie im Feld „Inhalt des SSH-Schlüssels“ den Inhalt Ihres öffentlichen SSH-Schlüssels ein. Angenommen, Sie haben Ihre Schlüssel mit der oben beschriebenen Methode generiert, können Sie den Inhalt Ihres öffentlichen Schlüssels auf Ihrem lokalen Computer abrufen, indem Sie Folgendes eingeben:

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNqqi1mHLnryb1FdbePrSZQdmXRZxGZbo0gTfglysq6KMNUNY2VhzmYN9JYW39yNtjhVxqfW6ewc+eHiL+IRRM1P5ecDAaL3V0ou6ecSurU+t9DR4114mzNJ5SqNxMgiJzbXdhR+j55GjfXdk0FyzxM3a5qpVcGZEXiAzGzhHytUV51+YGnuLGaZ37nebh3UlYC+KJev4MYIVww0tWmY+9GniRSQlgLLUQZ+FcBUjaqhwqVqsHe4F/woW1IHe7mfm63GXyBavVc+llrEzRbMO111MogZUcoWDI9w7UIm8ZOTnhJsk7jhJzG2GpSXZHmly/a/buFaaFnmfZ4MYPkgJD [email protected]

Fügen Sie diesen Wert vollständig in das größere Feld ein. Im Feld "Kommentar (optional)" können Sie eine Bezeichnung für den Schlüssel auswählen. Dies wird als Schlüsselname in der DigitalOcean-Oberfläche angezeigt:

image: https: //assets.digitalocean.com/articles/ssh_key_overview/new_key.png [SSH neuer Schlüssel]

Wenn Sie Ihr Droplet erstellen, werden die von Ihnen ausgewählten öffentlichen SSH-Schlüssel in der Datei "+ ~ / .ssh / authorized_keys +" des Root-Benutzerkontos abgelegt. Auf diese Weise können Sie sich mit Ihrem privaten Schlüssel vom Computer aus beim Server anmelden.

So kopieren Sie einen öffentlichen Schlüssel auf Ihren Server

Wenn Sie bereits einen Server zur Verfügung haben und bei der Erstellung keine Schlüssel eingebettet haben, können Sie Ihren öffentlichen Schlüssel dennoch hochladen und zur Authentifizierung bei Ihrem Server verwenden.

Die von Ihnen verwendete Methode hängt weitgehend von den verfügbaren Tools und den Details Ihrer aktuellen Konfiguration ab. Die folgenden Methoden führen alle zu demselben Endergebnis. Die einfachste und am besten automatisierte Methode ist die erste und die jeweils folgenden erfordern zusätzliche manuelle Schritte, wenn Sie die vorstehenden Methoden nicht anwenden können.

Kopieren Ihres öffentlichen Schlüssels mit der SSH-Copy-ID

Der einfachste Weg, Ihren öffentlichen Schlüssel auf einen vorhandenen Server zu kopieren, ist die Verwendung eines Dienstprogramms mit dem Namen "+ ssh-copy-id +". Aufgrund der Einfachheit wird diese Methode empfohlen, sofern verfügbar.

Das Tool + ssh-copy-id + ist in vielen Distributionen in den OpenSSH-Paketen enthalten, sodass Sie es möglicherweise auf Ihrem lokalen System zur Verfügung haben. Damit diese Methode funktioniert, müssen Sie bereits über einen kennwortbasierten SSH-Zugriff auf Ihren Server verfügen.

Um das Dienstprogramm zu verwenden, müssen Sie lediglich den Remote-Host, zu dem Sie eine Verbindung herstellen möchten, und das Benutzerkonto angeben, auf das Sie über ein Kennwort für SSH-Zugriff verfügen. Dies ist das Konto, in das Ihr öffentlicher SSH-Schlüssel kopiert wird.

Die Syntax lautet:

ssh-copy-id @

Möglicherweise sehen Sie eine Nachricht wie diese:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Dies bedeutet nur, dass Ihr lokaler Computer den Remote-Host nicht erkennt. Dies geschieht, wenn Sie zum ersten Mal eine Verbindung zu einem neuen Host herstellen. Geben Sie "yes" ein und drücken Sie ENTER, um fortzufahren.

Als nächstes durchsucht das Dienstprogramm Ihr lokales Konto nach dem Schlüssel "+ id_rsa.pub +", den wir zuvor erstellt haben. Wenn der Schlüssel gefunden wurde, werden Sie zur Eingabe des Kennworts für das Konto des Remotebenutzers aufgefordert:

/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:

Geben Sie das Passwort ein (Ihre Eingabe wird aus Sicherheitsgründen nicht angezeigt) und drücken Sie ENTER. Das Dienstprogramm stellt mit dem von Ihnen angegebenen Kennwort eine Verbindung zum Konto auf dem Remote-Host her. Anschließend wird der Inhalt Ihres "+ ~ / .ssh / id_rsa.pub " - Schlüssels in eine Datei im Home-Verzeichnis des Remote-Kontos " ~ / .ssh " mit dem Namen " authorized_keys +" kopiert.

Sie werden eine Ausgabe sehen, die so aussieht:

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.

Zu diesem Zeitpunkt wurde Ihr "+ id_rsa.pub +" - Schlüssel auf das Remote-Konto hochgeladen. Sie können mit dem nächsten Abschnitt fortfahren.

Kopieren Ihres öffentlichen Schlüssels mit SSH

Wenn Sie nicht über "+ ssh-copy-id +" verfügen, aber einen kennwortbasierten SSH-Zugriff auf ein Konto auf Ihrem Server haben, können Sie Ihre Schlüssel mit einer herkömmlichen SSH-Methode hochladen.

Dazu geben wir den Inhalt unseres öffentlichen SSH-Schlüssels auf unserem lokalen Computer aus und leiten ihn über eine SSH-Verbindung an den Remote-Server weiter. Auf der anderen Seite können wir sicherstellen, dass das Verzeichnis "+ ~ / .ssh " unter dem von uns verwendeten Konto vorhanden ist, und dann den Inhalt, den wir weitergeleitet haben, in eine Datei mit dem Namen " authorized_keys +" in diesem Verzeichnis ausgeben.

Wir werden das Umleitungssymbol "+ >> +" verwenden, um den Inhalt anzuhängen, anstatt ihn zu überschreiben. Dadurch können wir Schlüssel hinzufügen, ohne zuvor hinzugefügte Schlüssel zu zerstören.

Der vollständige Befehl sieht folgendermaßen aus:

cat ~/.ssh/id_rsa.pub | ssh @ "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Möglicherweise sehen Sie eine Nachricht wie diese:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Dies bedeutet nur, dass Ihr lokaler Computer den Remote-Host nicht erkennt. Dies geschieht, wenn Sie zum ersten Mal eine Verbindung zu einem neuen Host herstellen. Geben Sie "yes" ein und drücken Sie ENTER, um fortzufahren.

Anschließend werden Sie aufgefordert, das Kennwort des Kontos einzugeben, zu dem Sie eine Verbindung herstellen möchten:

[email protected]'s password:

Nach der Eingabe Ihres Passworts wird der Inhalt Ihres Schlüssels "+ id_rsa.pub " an das Ende der Datei " authorized_keys +" des Kontos des Remote-Benutzers kopiert. Fahren Sie mit dem nächsten Abschnitt fort, wenn dies erfolgreich war.

Manuelles Kopieren Ihres öffentlichen Schlüssels

Wenn Sie keinen kennwortbasierten SSH-Zugriff auf Ihren Server haben, müssen Sie den obigen Vorgang manuell ausführen.

Der Inhalt Ihrer Datei "+ id_rsa.pub " muss auf irgendeine Weise zu einer Datei unter " ~ / .ssh / authorized_keys +" auf Ihrem Remote-Computer hinzugefügt werden.

Geben Sie Folgendes in Ihren lokalen Computer ein, um den Inhalt Ihres Schlüssels "+ id_rsa.pub +" anzuzeigen:

cat ~/.ssh/id_rsa.pub

Sie sehen den Inhalt des Schlüssels, der ungefähr so ​​aussehen kann:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test

Greifen Sie auf Ihren Remote-Host mit jeder verfügbaren Methode zu. Wenn Ihr Server beispielsweise ein DigitalOcean-Droplet ist, können Sie sich über die Webkonsole in der Systemsteuerung anmelden:

Sobald Sie Zugriff auf Ihr Konto auf dem Remote-Server haben, sollten Sie sicherstellen, dass das Verzeichnis "+ ~ / .ssh +" erstellt wird. Dieser Befehl erstellt bei Bedarf das Verzeichnis oder unternimmt nichts, wenn es bereits vorhanden ist:

mkdir -p ~/.ssh

Jetzt können Sie die Datei "+ authorized_keys " in diesem Verzeichnis erstellen oder ändern. Sie können den Inhalt Ihrer ` id_rsa.pub ` - Datei an das Ende der ` authorized_keys +` - Datei anfügen und ihn bei Bedarf folgendermaßen erstellen:

echo  >> ~/.ssh/authorized_keys

Ersetzen Sie im obigen Befehl "+" durch die Ausgabe des Befehls " cat ~ / .ssh / id_rsa.pub", den Sie auf Ihrem lokalen System ausgeführt haben. Es sollte mit + ssh-rsa AAAA …​ + beginnen.

Wenn dies funktioniert, können Sie versuchen, sich ohne Kennwort zu authentifizieren.

Authentifizieren Sie sich mit SSH-Schlüsseln bei Ihrem Server

Wenn Sie eines der oben genannten Verfahren erfolgreich abgeschlossen haben, sollten Sie sich beim Remote-Host anmelden können, ohne das Kennwort des Remote-Kontos zu verwenden.

Der grundlegende Prozess ist der gleiche:

ssh @

Wenn Sie zum ersten Mal eine Verbindung zu diesem Host herstellen (wenn Sie die letzte Methode oben verwendet haben), wird möglicherweise Folgendes angezeigt:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Dies bedeutet nur, dass Ihr lokaler Computer den Remote-Host nicht erkennt. Geben Sie "yes" ein und drücken Sie die EINGABETASTE, um fortzufahren.

Wenn Sie keine Passphrase für Ihren privaten Schlüssel angegeben haben, werden Sie sofort angemeldet. Wenn Sie beim Erstellen des Schlüssels eine Passphrase für den privaten Schlüssel eingegeben haben, müssen Sie diese jetzt eingeben. Anschließend sollte eine neue Shell-Sitzung mit dem Konto auf dem Remote-System für Sie erstellt werden.

Wenn dies erfolgreich ist, fahren Sie fort, um herauszufinden, wie Sie den Server sperren können.

Deaktivieren der Kennwortauthentifizierung auf Ihrem Server

Wenn Sie sich mit SSH ohne Kennwort bei Ihrem Konto anmelden konnten, haben Sie die SSH-Schlüsselauthentifizierung für Ihr Konto erfolgreich konfiguriert. Ihr kennwortbasierter Authentifizierungsmechanismus ist jedoch weiterhin aktiv. Dies bedeutet, dass Ihr Server weiterhin Brute-Force-Angriffen ausgesetzt ist.

Bevor Sie die Schritte in diesem Abschnitt ausführen, vergewissern Sie sich, dass entweder die SSH-Schlüsselauthentifizierung für das Stammkonto auf diesem Server konfiguriert ist, oder dass vorzugsweise die SSH-Schlüsselauthentifizierung für ein Konto auf diesem Server mit `+ sudo + konfiguriert ist `Zugang. In diesem Schritt werden kennwortbasierte Anmeldungen gesperrt, sodass sichergestellt werden muss, dass Sie weiterhin über Administratorrechte verfügen.

Sobald die oben genannten Bedingungen erfüllt sind, melden Sie sich mit SSH-Schlüsseln bei Ihrem Remote-Server an, entweder als Root oder mit einem Konto mit den Rechten "+ sudo +". Öffnen Sie die Konfigurationsdatei des SSH-Dämons:

sudo nano /etc/ssh/sshd_config

Suchen Sie in der Datei nach einer Direktive mit dem Namen "+ PasswordAuthentication +". Dies kann auskommentiert werden. Kommentieren Sie die Zeile aus und setzen Sie den Wert auf "nein". Dies deaktiviert Ihre Fähigkeit, sich über SSH mit Kontokennwörtern anzumelden:

PasswordAuthentication no

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Um die soeben vorgenommenen Änderungen tatsächlich zu implementieren, müssen Sie den Dienst neu starten.

Auf Ubuntu- oder Debian-Rechnern können Sie diesen Befehl ausführen:

sudo service ssh restart

Auf CentOS / Fedora-Rechnern heißt der Daemon + sshd +:

sudo service sshd restart

Nach Abschluss dieses Schritts haben Sie Ihren SSH-Daemon erfolgreich so umgestellt, dass er nur auf SSH-Schlüssel reagiert.

Fazit

Auf Ihrem Server sollte jetzt die SSH-Schlüssel-basierte Authentifizierung konfiguriert sein und ausgeführt werden, sodass Sie sich anmelden können, ohne ein Kontokennwort anzugeben. Von hier aus gibt es viele Richtungen, die Sie ansteuern können. Wenn Sie mehr über die Arbeit mit SSH erfahren möchten, besuchen Sie unsere https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys [ SSH-Grundlagen].