Ein Beispiel für die Bereitstellung der Public-Key-Authentifizierungsmethode ist das Folgende. Angenommen, Sie haben Server A (den Server; den Server, zu dem Sie eine Verbindung herstellen möchten) und B (den Client; den Server, von dem Sie mit dem öffentlichen Schlüssel eine Verbindung zu A herstellen möchten ).
Führen Sie auf A den folgenden Befehl aus:
ssh-keygen
- Dadurch wird ein Private-Public-Key-Paar generiert, wenn es ohne Argumente ausgeführt wird, erfolgt dies unter
~/.ssh
.
- Dadurch wird ein Private-Public-Key-Paar generiert, wenn es ohne Argumente ausgeführt wird, erfolgt dies unter
Auf A führe Folgendes aus:
ssh-copy-id [user@]<Bs-IP-address>
Dadurch wird der von A generierte öffentliche Schlüssel nach B kopiert . Dies geschieht in einer Datei namens .
~/.ssh/authorized_keys
Wenn dies aufgrund von Verbindungsproblemen nicht funktioniert oder Sie einfach keine Verbindung von Punkt A nach B herstellen können, gibt es eine alternative (manuelle) Möglichkeit, dies zu tun. Wechseln Sie in Ihrem Computer A zu Ihrem
~/.ssh
Verzeichnis und suchen Sie nach der Datei mit dem öffentlichen Schlüssel. Dies wird wahrscheinlich eine Datei mit der.pub
Erweiterung sein. Öffnen Sie es, kopieren Sie den Inhalt und fügen Sie ihn in B in Ihre~/.ssh/authorized_keys
Datei ein. Sehr wichtig : Diese Datei muss dem Benutzer gehören, die Gruppe muss der Benutzer sein und über Berechtigungen verfügen600
. Sonst funktioniert es nicht . Das ist so ziemlich wasssh-copy-id
.
Versuchen Sie von B aus, eine Verbindung von SSH zu A herzustellen .
Ein paar Dinge zu beachten:
- Mit dem Befehl in Punkt 2 wird der öffentliche Schlüssel nur für den Remote-Benutzer bereitgestellt, zu dem Sie eine Verbindung herstellen. Das bedeutet, dass
tom
ein Benutzer, dessen Benutzernamejerry
nicht verwendet werden kann, den Schlüssel nicht bei sich zu Hause bereitstellen kann. Kurz gesagt, die Bereitstellung erfolgt pro Benutzer. - Wenn Sie versuchen, den Schlüssel für die Verbindung zu A bereitzustellen
root
, stellen Sie sicher, dass diePermitRootLogin
Direktive in/etc/ssh/sshd_config
entweder den Wertyes
oderprohibit-password
(vorzugsweise) hat. Wenn auf festgelegt istno
, funktioniert die Authentifizierung mit öffentlichen Methoden nicht. - Teilen Sie niemals einen privaten Schlüssel mit jemandem.