Android

So richten Sie ssh-Schlüssel auf centos ein 7

Locked Down Offline Wikipedia Kiosk on Raspberry Pi 4

Locked Down Offline Wikipedia Kiosk on Raspberry Pi 4

Inhaltsverzeichnis:

Anonim

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll für eine sichere Verbindung zwischen einem Client und einem Server.

Die beiden beliebtesten SSH-Authentifizierungsmechanismen sind die kennwortbasierte Authentifizierung und die auf öffentlichen Schlüsseln basierende Authentifizierung. Die Verwendung von SSH-Schlüsseln ist im Allgemeinen sicherer und bequemer als die herkömmliche Kennwortauthentifizierung.

In diesem Tutorial wird das Generieren von SSH-Schlüsseln auf CentOS 7-Systemen erläutert. Wir zeigen Ihnen auch, wie Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren entfernten Linux-Servern herstellen, ohne ein Kennwort einzugeben.

Erstellen von SSH-Schlüsseln unter CentOS

Bevor Sie ein neues SSH-Schlüsselpaar generieren, sollten Sie prüfen, ob auf Ihrem CentOS-Client-Computer SSH-Schlüssel vorhanden sind.

Führen Sie dazu den folgenden Befehl ls aus, der alle öffentlichen Schlüssel auflistet, sofern vorhanden:

ls -l ~/.ssh/id_*.pub

Wenn die Ausgabe des Befehls so etwas wie " No such file or directory oder " no matches found zurückgibt, bedeutet dies, dass auf Ihrem Client-Computer keine SSH-Schlüssel vorhanden sind. Sie können mit dem nächsten Schritt fortfahren und ein SSH-Schlüsselpaar generieren.

Wenn bereits Schlüssel vorhanden sind, können Sie diese entweder verwenden und den nächsten Schritt überspringen oder die alten Schlüssel sichern und neue generieren.

Erstellen Sie zunächst ein neues 4096-Bit-SSH-Schlüsselpaar mit Ihrer E-Mail-Adresse als Kommentar:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Sie werden aufgefordert, den Dateinamen anzugeben:

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

Drücken Sie die Enter , um den Standardspeicherort und Dateinamen zu übernehmen.

Als Nächstes werden Sie aufgefordert, eine sichere Passphrase einzugeben. Ob Sie eine Passphrase verwenden möchten, liegt ganz bei Ihnen. Wenn Sie sich für die Verwendung von Passphrasen entscheiden, erhalten Sie eine zusätzliche Sicherheitsebene.

Enter passphrase (empty for no passphrase):

Die gesamte Interaktion sieht folgendermaßen aus:

Geben Sie Folgendes ein, um zu überprüfen, ob Ihr neues SSH-Schlüsselpaar generiert wurde:

ls ~/.ssh/id_*

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopieren Sie den öffentlichen Schlüssel auf CentOS Server

Nachdem das SSH-Schlüsselpaar generiert wurde, besteht der nächste Schritt darin, den öffentlichen Schlüssel auf den Server zu kopieren, den Sie verwalten möchten.

Die einfachste und empfohlene Methode zum Kopieren des öffentlichen Schlüssels auf den Remote-Server ist die Verwendung eines Dienstprogramms namens ssh-copy-id . Auf Ihrem lokalen Computer-Terminaltyp:

ssh-copy-id remote_username@server_ip_address

Sie werden aufgefordert, das Kennwort für remote_username :

remote_username@server_ip_address's password:

~/.ssh/id_rsa.pub das Kennwort ein. Sobald der Benutzer authentifiziert ist, wird der öffentliche Schlüssel ~/.ssh/id_rsa.pub an die Datei ~/.ssh/authorized_keys ~/.ssh/id_rsa.pub angehängt. Die Verbindung wird geschlossen.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

Wenn das Dienstprogramm ssh-copy-id auf Ihrem lokalen Computer nicht verfügbar ist, kopieren Sie den öffentlichen Schlüssel mit dem folgenden Befehl:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Melden Sie sich mit SSH-Schlüsseln bei Ihrem Server an

Nachdem Sie die obigen Schritte ausgeführt haben, sollten Sie sich beim Remote-Server anmelden können, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

Um dies zu überprüfen, versuchen Sie, sich über SSH bei Ihrem Server anzumelden:

ssh remote_username@server_ip_address

Deaktivieren der SSH-Kennwortauthentifizierung

Um Ihrem Remote-Server eine zusätzliche Sicherheitsebene hinzuzufügen, können Sie die SSH-Kennwortauthentifizierung deaktivieren.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie sich ohne Kennwort als Benutzer mit sudo-Berechtigungen bei Ihrem Server anmelden können.

Führen Sie die folgenden Schritte aus, um die SSH-Kennwortauthentifizierung zu deaktivieren:

  1. Melden Sie sich bei Ihrem Remote-Server an:

    ssh sudo_user@server_ip_address

    Öffnen Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config mit Ihrem Texteditor:

    sudo nano /etc/ssh/sshd_config

    Suchen Sie nach den folgenden Anweisungen und ändern Sie sie wie folgt:

    / etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    Sobald Sie fertig sind, speichern Sie die Datei und starten Sie den SSH-Dienst neu, indem Sie Folgendes eingeben:

    sudo systemctl restart ssh

Zu diesem Zeitpunkt ist die kennwortbasierte Authentifizierung deaktiviert.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie ein neues SSH-Schlüsselpaar generieren und eine SSH-Schlüssel-basierte Authentifizierung einrichten. Sie können denselben Schlüssel mehreren Remoteservern hinzufügen.

Wir haben Ihnen auch gezeigt, wie Sie die SSH-Kennwortauthentifizierung deaktivieren und Ihrem Server eine zusätzliche Sicherheitsebene hinzufügen.

Standardmäßig überwacht SSH Port 22. Durch Ändern des Standard-SSH-Ports wird das Risiko automatisierter Angriffe verringert.

Centos SSH-Sicherheit