GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> cPanel

So fügen Sie einen SSH-Schlüssel für den cPanel-SSH-Zugriff hinzu

Als cPanel-Benutzer müssen Sie Ihre Website oder Anwendungsdateien häufig entweder über SSH oder FTP verwalten.

Hier ist eine Möglichkeit, dies sicher über die SSH-Schlüsselfunktion zu tun, die nativ mit cPanel geliefert wird.

Die erste Frage ist wahrscheinlich, warum für diese Aufgaben eine Schlüsselauthentifizierung anstelle der normalen Passwortauthentifizierung erzwingen?

Passwörter bleiben die am häufigsten verwendete Form der Online-Authentifizierung.

Dies liegt vor allem daran, dass sie in den meisten Infrastrukturen einfach und kostengünstig zu implementieren sind.

Es besteht jedoch allgemein Einigkeit darüber, dass Passwörter das schwächste Glied und der schlechteste Schutz sind, wenn es um die Online-Sicherheit geht.

Und mit der Weiterentwicklung der Technologie entwickeln sich auch Tools, die böswilligen Hackern und Eindringlingen zur Verfügung stehen, um Ihre Online-Anmeldeinformationen zu knacken, und gewinnen an Geschwindigkeit und Raffinesse.

Erschwerend kommt hinzu, dass Benutzern oft die Möglichkeit gegeben wird, ihre eigenen Passwörter zu erstellen, wenn sie neue Online-Identitäten erstellen.

Menschen sind nicht als die geduldigsten Geschöpfe der Natur bekannt und wählen daher oft Passwörter, die leicht zu erraten und zu hacken sind.

Aus diesem Grund werden Sie bei einem Passwort-Dump häufig feststellen, dass die am häufigsten verwendeten Passwörter „Passwort“, „1234“, „Geburtsdaten“ oder „Pass“ sind.

Die meisten Leute verwenden dasselbe Passwort auch für mehrere Websites.

Wenn also eine Website kompromittiert wird, wird auch jede andere Website kompromittiert, auf der der Benutzer ein Konto hat.

Was sollten Sie als cPanel-Benutzer dann für die SFTP/SSH-Authentifizierung verwenden – SSH-Schlüssel oder Passwörter?

Natürlich wird die Antwort ein schlüsselbasiertes SSH sein.

SSH-Schlüssel sind eine ausgezeichnete Methode, um sicher zu bleiben, vorausgesetzt, Sie verwenden Best Practices, um sie zu generieren, zu speichern, zu verwalten und zu entfernen.

Sie können zwar die Passwortauthentifizierung für SSH verwenden, aber sie schützt nicht vor schwachen Passwörtern, selbst wenn sie verschlüsselt über das Netzwerk laufen.

Wenn ein böswilliger Benutzer Ihr Passwort erraten oder von einem legitimen Benutzer erhalten kann, kann sich der böswillige Benutzer authentifizieren und sich als Sie ausgeben.

Auf unserer Webhosting-Plattform erlauben wir keine SSH-Passwortauthentifizierung.

Dies hat mehrere Vorteile, darunter:

  • böswillige Hacker können keine schlüsselbasierte Brute-Force-Anmeldung durchführen
  • Falls ein Server kompromittiert wird, kann ein böswilliger Angreifer nicht auf Ihren Server zugreifen, selbst wenn er oder sie die Kontrolle über das Passwort erlangt hat.
  • und da bei der Anmeldung kein Passwort erforderlich ist, können Sie sich über Skripte oder Automatisierungstools, die Sie unbeaufsichtigt ausführen müssen, bei Servern anmelden.

Stattdessen erwarten wir von Kunden, die SFTP/SSH verwenden möchten, dass sie die Public-Key-Authentifizierung verwenden.

Bei SSH wird ein kryptografischer Schlüssel generiert, der aus zwei Teilen besteht:

  • ein privater Schlüssel, normalerweise mit dem Namen id_rsa, der auf Ihrem lokalen Computer gespeichert ist.
  • ein öffentlicher Schlüssel, normalerweise namens id_rsa.pub, der auf dem Server abgelegt wird, bei dem Sie sich anmelden werden.

Dieses Tutorial soll Ihnen zeigen, wie einfach es ist, dies zu erledigen.

So generieren Sie Ihren Schlüssel und fügen ihn zu CPanel hinzu

Mac

Rufen Sie Ihr Terminal auf.

Fügen Sie etwas wie den folgenden Text ein:

$ ssh-keygen -t rsa -b 4096 -C "$identifier"

wobei $identifier entweder Ihre E-Mail-Adresse oder etwas anderes ist.

Wenn Sie aufgefordert werden, „Geben Sie eine Datei ein, in der der Schlüssel gespeichert werden soll“, drücken Sie die Eingabetaste.

Dies akzeptiert den Standardspeicherort.

Geben Sie an der Eingabeaufforderung eine sichere Passphrase ein.

Erstellen Sie nun eine ~/.ssh/config-Datei, um Schlüssel automatisch in den ssh-Agenten zu laden und Passphrasen in Ihrem Schlüsselbund zu speichern.

touch ~/.ssh/config

Starten Sie den ssh-Agenten im Hintergrund.

$ eval "$(ssh-agent -s)"

Ändern Sie die zuvor erstellte Datei:

cd .ssh && vi ~/.ssh/config

Fügen Sie dies der Datei hinzu:

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

Fügen Sie Ihren privaten SSH-Schlüssel zum ssh-agent hinzu und speichern Sie Ihre Passphrase im Schlüsselbund.

$ ssh-add -K ~/.ssh/id_rsa

Bestätigen Sie das Vorhandensein des Schlüssels:

$ ls -al ~/.ssh

Kopieren Sie nun den generierten öffentlichen Schlüssel, den Sie dem cPanel-Server hinzufügen werden:

$ cat .ssh/id_rsa.pub

Windows

Windows hat einen anderen Arbeitsablauf, aber diese werden helfen:

Generieren Sie ein Schlüsselpaar mit PuTTY

Laden Sie PuTTYgen (puttygen.exe) und PuTTY (putty.exe) von der offiziellen Website unter http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunter.

Starten Sie puttygen.exe.

Der RSA-Schlüsseltyp unten im Fenster ist standardmäßig für ein RSA-Schlüsselpaar ausgewählt, aber ED25519 (EdDSA mit Curve25519) ist eine vergleichbare Option, wenn der SSH-Server Ihres Remote-Computers DSA-Signaturen unterstützt.

Erhöhen Sie die RSA-Schlüsselgröße von 2048 Bit auf 4096 Bit und klicken Sie auf Generieren

PuTTY verwendet die zufällige Eingabe Ihrer Maus, um einen eindeutigen Schlüssel zu generieren.

Sobald die Schlüsselgenerierung beginnt, bewegen Sie Ihre Maus weiter, bis der Fortschrittsbalken gefüllt ist.

Wenn Sie fertig sind, zeigt PuTTY den neuen öffentlichen Schlüssel an.

Klicken Sie mit der rechten Maustaste darauf und wählen Sie Alle auswählen. Kopieren Sie dann den öffentlichen Schlüssel in einen Texteditor:Sublime Text , Atom oder sogar Notepad .

Speichern Sie den öffentlichen Schlüssel als TXT-Datei .

Dies ist wichtig, da ein Rich-Text-Format wie .rtf oder .doc zusätzliche Formatierungszeichen hinzufügen kann und Ihr privater Schlüssel dann nicht funktioniert.

Geben Sie eine Passphrase für den privaten Schlüssel in die Textfelder Key passphrase und Confirm passphrase ein.

Klicken Sie auf Speichern Privat Schlüssel.

Wählen Sie einen Dateinamen und einen Speicherort im Explorer, während Sie die Dateierweiterung .ppk beibehalten.

Merken Sie sich den Speicherort der privaten Schlüsseldatei für die zukünftige Verwendung.

Wenn Sie mehrere Schlüsselpaare für verschiedene Server erstellen möchten, achten Sie darauf, ihnen unterschiedliche Namen zu geben, damit Sie alte Schlüssel nicht mit neuen überschreiben.

Konvertieren Sie den öffentlichen Schlüssel in das OpenSSH-Format

Öffnen Sie nun Ihren privaten Schlüssel in PuTTYGen.

Klicken Sie auf Laden .

Wählen Sie Ihren privaten Schlüssel mit der Endung .ppk aus und klicken Sie dann auf „Öffnen “.

Sehen Sie sich das obere Menü an und wählen Sie „Conversions“. “ -> „OpenSSH-Schlüssel exportieren“ .

Speichern Sie den neuen OpenSSH-Schlüssel, wenn Sie dazu aufgefordert werden.

Der öffentliche Schlüssel befindet sich unter dem öffentlichen Schlüssel zum Einfügen in cPanel.

Das neue Windows hat dafür einen besseren Ansatz, und Sie sollten sich die folgenden Links ansehen:

  • https://winscp.net/eng/docs/guide_windows_openssh_server
  • https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
  • https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview
  • https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

Sobald Sie Ihre Schlüssel generiert haben, melden Sie sich bei cPanel

an

Scrollen Sie nach unten zu Sicherheit>> SSH-Zugriff .

Führen Sie die folgenden Schritte aus, um einen vorhandenen SSH-Schlüssel zu importieren:

Klicken Sie auf SSH-Schlüssel verwalten .

Klicken Sie auf Schlüssel importieren und kopieren Sie die von Ihnen generierte id_rsa.pub.

Um einen benutzerdefinierten Schlüsselnamen zu verwenden, geben Sie den Schlüsselnamen in das Feld Wählen Sie einen Namen für diesen Schlüssel aus ein (standardmäßig id_dsa) Textfeld.

Fügen Sie die öffentlichen und privaten Schlüssel in die entsprechenden Textfelder ein.

Klicken Sie auf Importieren .

Sie müssen neue Schlüssel autorisieren, bevor Sie versuchen, sie zu verwenden.

Gehen Sie also zurück und klicken Sie auf Verwalten um die Berechtigung für den Schlüssel zu verwalten. Eine neue Benutzeroberfläche wird angezeigt.

Klicken Sie auf Autorisieren um den Schlüssel zu autorisieren oder deautorisieren wenn Sie die Autorisierung für den Schlüssel widerrufen müssen.

Schutz Ihrer öffentlichen SSH-Schlüssel:

  • Wenn Sie eine Organisation sind oder SSH-Logins mit anderen Personen oder jemand anderem teilen, können Sie alle Ihre SSK-Schlüssel zentral verwalten.
  • Passphrase für Ihre Schlüssel und verwenden Sie nicht dieselbe Passphrase für mehrere Schlüssel (wobei jeder Schlüssel Zugriff auf einen anderen Server gewährt).
  • rotieren Sie SSH-Schlüssel aktiv, indem Sie Benutzer dazu zwingen, regelmäßig Schlüssel zu generieren.
  • Teilen Sie niemals einen privaten Schlüssel zwischen physischen Geräten.
  • Wenn möglich, binden Sie jeden SSH-Schlüssel an eine Person und nicht nur an ein Konto, auf das mehrere Benutzer zugreifen können.
  • Verwenden Sie einen Bastion-Host. Mit Bastion-Hosts können Sie eine Firewall-Regel erstellen, die SSH-Datenverkehr nur zu einer einzigen Instanz zulässt.
  • Richten Sie Benachrichtigungen ein, um Sie zu benachrichtigen, wenn sich einige erfolgreich über SSH anmelden oder anmelden.

Probleme mit der Schlüsselverwaltung?

Die folgenden Tools machen die Verwaltung von SSH-Schlüsseln zum Kinderspiel.

Sie bieten Ihnen sicherlich eine Möglichkeit, Ihre Systeme, Anwendungen, Netzwerke und Dateiserver zu konsolidieren und sicher darauf zuzugreifen – unabhängig von Plattform, Protokoll, Anbieter oder Standort.

  • Userify :https://userify.com
  • Sprungwolke :https://jumpcloud.com/
  • CyberArk :https://www.cyberark.com/
  • BeyondTrust :https://www.beyondtrust.com/
  • SSH Universal Key Manager :http://www.ssh.com/
  • Schlüsselkasten :http://sshkeybox.com

Wenn es um Ihre digitalen Assets (Website, Datenbanken, Kryptowährungen usw.) geht, sollte die Verwendung von Passwörtern als Tür zu einer Gemeinschaftsbar betrachtet werden.

Die folgenden Punkte können jedoch als Best Practices für Passwörter betrachtet werden und können dazu beitragen, das mit Passwörtern verbundene Risiko zu mindern:

Best Practices für Passwörter

  • verwenden Sie keine personenbezogenen Daten als Teil Ihres Passworts:Ihren, den Namen Ihres Ehepartners, Lebensgefährten, Kinder, Freundes oder Haustieres, Geburtsdatum, Kfz-Kennzeichen, Telefonnummer, Sozialversicherungsnummer, Ihre Marke Auto, Hausadresse etc.
  • Verwenden Sie kein Wort, das in englischen oder fremdsprachigen Wörterbüchern, Rechtschreiblisten, Akronym- oder Abkürzungslisten oder anderen Wortlisten enthalten ist.
  • Teilen Sie Ihr Passwort unter keinen Umständen mit einer anderen Person.
  • Schreiben Sie Ihre Passwörter nicht auf Papier.
  • Verwenden Sie nicht das gleiche (oder ähnliche) Passwort auf zwei Websites.
  • Stellen Sie sicher, dass das Passwort, das Sie verwenden oder generieren, Groß- und Kleinschreibung sowie nicht alphabetische Zeichen/Symbole enthält und mindestens 20 Zeichen lang ist.
  • Machen Sie es sich zur Gewohnheit, die Zwei-Faktor-Authentifizierung zusammen mit jedem Passwort zu verwenden, das Sie haben.
  • Ändern Sie regelmäßig oder alle 90–120 Tage jedes Passwort, das Sie besitzen.

cPanel
  1. So greifen Sie über cPanel auf Webmail zu

  2. So konfigurieren Sie SSH-Schlüssel mit cPanel

  3. So generieren Sie einen Schlüssel und eine CSR in cPanel für Ihr SSL-Zertifikat

  4. Generieren Sie private und öffentliche Schlüssel in cPanel für den SSH-Zugriff

  5. Wie erstellt man einen SSH-Schlüssel für einen anderen Benutzer?

Wie greife ich in cPanel auf phpMyAdmin zu?

Wie melde ich mich über SSH bei meinem cPanel-Konto an?

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

Wie füge ich meinen SSH-Schlüssel zu Github/Bitbucket hinzu?

So fügen Sie dem VS-Code einen SSH-Schlüssel hinzu und stellen eine Verbindung zu einem Host her

So fügen Sie einen Passwortschutz für ein Verzeichnis mit cPanel hinzu