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

So richten Sie SSH-Schlüssel ein

Über SSH-Schlüssel

SSH-Schlüssel bieten eine sicherere Möglichkeit, sich mit SSH bei einem virtuellen privaten Server anzumelden, als nur ein Passwort zu verwenden. Während ein Passwort schließlich mit einem Brute-Force-Angriff geknackt werden kann, sind SSH-Schlüssel mit Brute-Force allein kaum zu entschlüsseln. Beim Generieren eines Schlüsselpaars erhalten Sie zwei lange Zeichenfolgen:einen öffentlichen und einen privaten Schlüssel. Sie können den öffentlichen Schlüssel auf einem beliebigen Server platzieren und ihn dann entsperren, indem Sie sich mit einem Client verbinden, der bereits über den privaten Schlüssel verfügt. Wenn die beiden übereinstimmen, wird das System entsperrt, ohne dass ein Passwort erforderlich ist. Sie können die Sicherheit noch weiter erhöhen, indem Sie den privaten Schlüssel mit einer Passphrase schützen.

Dieser Leitfaden wurde hauptsächlich von den Leuten bei DigitalOcean geschrieben. Sehen Sie sich die großartigen, kostengünstigen Serveroptionen auf digitalocean.com an

Schritt Eins – Erstellen Sie das RSA-Schlüsselpaar

Der erste Schritt besteht darin, das Schlüsselpaar auf dem Client-Computer zu erstellen (es besteht eine gute Chance, dass dies nur Ihr Computer ist):

ssh-keygen -t rsa

Schritt Zwei – Schlüssel und Passphrase speichern

Nachdem Sie den Gen Key-Befehl eingegeben haben, werden Sie einige weitere Fragen erhalten:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Sie können hier die Eingabetaste drücken und die Datei im Home des Benutzers speichern (in diesem Fall heißt mein Beispielbenutzer demo).

Enter passphrase (empty for no passphrase):

Es liegt an Ihnen, ob Sie eine Passphrase verwenden möchten. Die Eingabe einer Passphrase hat ihre Vorteile:Die Sicherheit eines Schlüssels, egal wie verschlüsselt, hängt immer noch davon ab, dass er für niemanden sichtbar ist. Sollte ein durch eine Passphrase geschützter privater Schlüssel in den Besitz eines nicht autorisierten Benutzers gelangen, kann er sich nicht bei den zugehörigen Konten anmelden, bis er die Passphrase herausgefunden hat, was dem gehackten Benutzer zusätzliche Zeit verschafft. Der einzige Nachteil einer Passphrase besteht natürlich darin, dass Sie sie jedes Mal eingeben müssen, wenn Sie das Schlüsselpaar verwenden.

Der gesamte Schlüsselgenerierungsprozess sieht folgendermaßen aus:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Der öffentliche Schlüssel befindet sich jetzt in /home/demo/.ssh/id_rsa.pub Der private Schlüssel (Identifikation) befindet sich jetzt in /home/demo/.ssh/id_rsa

Schritt Drei – Kopieren Sie den öffentlichen Schlüssel

Sobald das Schlüsselpaar generiert ist, ist es an der Zeit, den öffentlichen Schlüssel auf dem virtuellen Server zu platzieren, den wir verwenden möchten.

Sie können den öffentlichen Schlüssel mit dem Befehl „ssh-copy-id“ in die Datei „authorized_keys“ der neuen Maschine kopieren. Achten Sie darauf, den Beispielbenutzernamen und die IP-Adresse unten zu ersetzen.

ssh-copy-id [email protected]

Alternativ können Sie die Schlüssel auch per SSH einfügen:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Unabhängig davon, welchen Befehl Sie gewählt haben, sollten Sie Folgendes sehen:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Jetzt können Sie fortfahren und sich bei [email protected] anmelden, und Sie werden nicht zur Eingabe eines Passworts aufgefordert. Wenn Sie jedoch eine Passphrase festlegen, werden Sie aufgefordert, die Passphrase zu diesem Zeitpunkt einzugeben (und wann immer Sie sich in Zukunft anmelden).

Optionaler Schritt 4 – Deaktivieren Sie das Passwort für die Root-Anmeldung

Nachdem Sie Ihre SSH-Schlüssel auf Ihren Server kopiert und sichergestellt haben, dass Sie sich nur mit den SSH-Schlüsseln anmelden können , können Sie fortfahren und die Root-Anmeldung so einschränken, dass sie nur über SSH-Schlüssel erlaubt ist.

Öffnen Sie dazu die SSH-Konfigurationsdatei:

sudo nano /etc/ssh/sshd_config

Suchen Sie in dieser Datei die Zeile, die PermitRootLogin enthält und ändern Sie ihn, um sicherzustellen, dass Benutzer sich nur mit ihrem SSH-Schlüssel verbinden können:

PermitRootLogin without-password

Setzen Sie die Änderungen in Kraft:

service openssh-server restart

Linux
  1. So konfigurieren Sie SSH-Schlüssel mit cPanel

  2. So verwenden Sie SSH-Schlüssel mit Plesk

  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 9 ein

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