Websites

SSH-Schlüssel zu einer Website hinzufügen

SSH access to a Kapsule site is key-based only, so before you can open a shell or an SFTP session you need to register a public key against the site in KPanel. This guide covers where that lives…

SSH-Schlüssel zu einer Website hinzufügen

SSH-Zugriff auf eine Kapsule-Website ist nur schlüsselbasiert, daher müssen Sie einen öffentlichen Schlüssel in KPanel gegen die Website registrieren, bevor Sie eine Shell oder eine SFTP-Sitzung öffnen können. Dieses Handbuch behandelt den Ort, wo das zu finden ist, wie man einen bereits vorhandenen Schlüssel hinzufügt, wie Kapsule einen für Sie generiert, und wie man einen Schlüssel widerruft, dem Sie nicht mehr vertrauen.

Wo die SSH-Schlüssel-Seite zu finden ist

Öffnen Sie Websites, klicken Sie auf die Website und öffnen Sie dann das Menü Dateien in der Website-Registerkarte und wählen Sie SSH-Schlüssel. Die Seite heißt SSH-Zugriff und enthält zwei Dinge: die Verbindungsdetails für diese Website und die Liste der öffentlichen Schlüssel, die derzeit berechtigt sind, sie zu verwenden.

Es gibt kein SSH-Element auf oberster Ebene in der Hauptseitenleiste. Schlüssel sind pro Website, daher authentifiziert sich ein hier hinzugefügter Schlüssel nur gegen diese Website. Wenn Sie mehrere Websites betreiben, benötigt jede einen eigenen Eintrag, auch wenn es auf Ihrem Laptop der gleiche Schlüssel ist.

SSH-Zugriff-Seite für eine Website in KPanel

Das Hinzufügen oder Widerrufen eines Schlüssels erfordert die Berechtigung sites:write. Wenn Sie ein Team-Konto mit einer schreibgeschützten Rolle haben, sind die Schaltfläche Schlüssel hinzufügen und das Widerrufsymbol ausgeblendet. Bitten Sie einen Kontoinhaber oder Administrator, die Änderung vorzunehmen.

Verbindungsdetails

Die Karte Verbindungsdetails oben auf der Seite zeigt alles, was Ihr Client benötigt:

FeldWas es ist
HostDer Hostname, mit dem die Verbindung hergestellt werden soll
PortDer SSH-Port für diese Website
UsernameDer Systembenutzer, als der Ihre Website läuft
SSHEin fertiger ssh Befehl für diese Website
SFTPEin fertiger sftp Befehl für diese Website

Jede Zeile hat ein Kopiersteuerelement, und die Zeilen SSH und SFTP kopieren den gesamten Befehl statt nur des Wertes, sodass Sie ihn direkt in ein Terminal einfügen können. Verwenden Sie diese zwei, anstatt den Befehl selbst einzugeben: Sie enthalten bereits den richtigen Benutzer, Host und Port.

Wenn die Karte überhaupt nicht angezeigt wird, hat die Website ihren Shell-Benutzer noch nicht fertig bereitgestellt. Die API gibt in diesem Fall einen einfachen Fehler Site has no SSH user zurück. Warten Sie, bis die Website-Status-Anzeige Active anzeigt, und laden Sie neu.

Hinzufügen eines bereits vorhandenen Schlüssels

Die meisten Menschen haben bereits ein Schlüsselpaar auf ihrem Computer. Fügen Sie hier die öffentliche Hälfte hinzu.

  1. Geben Sie auf Ihrem Computer Ihren öffentlichen Schlüssel aus. Auf macOS und Linux ist das normalerweise cat ~/.ssh/id_ed25519.pub oder cat ~/.ssh/id_rsa.pub für einen älteren RSA-Schlüssel. Auf Windows mit OpenSSH ist es type %USERPROFILE%\.ssh\id_ed25519.pub.
  2. Kopieren Sie die ganze einzelne Zeile, die mit ssh-ed25519, ssh-rsa oder ecdsa-sha2-nistp256 beginnt.
  3. Klicken Sie in KPanel auf Schlüssel hinzufügen.
  4. Geben Sie etwas Einprägsames in das Feld Label ein, zum Beispiel den Namen des Computers, auf dem sich der Schlüssel befindet.
  5. Fügen Sie den öffentlichen Schlüssel in das zweite Feld ein.
  6. Klicken Sie auf Schlüssel hinzufügen.

Der Schlüssel wird sofort in der Liste Autorisierte Schlüssel angezeigt, mit seinem Fingerabdruck unter dem Label. Sie können sich sofort verbinden.

Kapsule sendet auch jedes Mal eine E-Mail an die Kontoadresse, wenn ein Schlüssel hinzugefügt wird, und zitiert dabei das Label, den Fingerabdruck und die Website. Diese E-Mail ist beabsichtigt: SSH-Zugriff ist hochgradig vertrauenswürdig, daher sollten Sie, wenn ein Schlüssel angezeigt wird, den Sie nicht hinzugefügt haben, ihn sofort widerrufen und Ihr Passwort ändern.

Fügen Sie nur die .pub Datei ein. Eine private Schlüsseldatei hat keine .pub Erweiterung und beginnt mit einer Zeile wie -----BEGIN OPENSSH PRIVATE KEY-----. Wenn Sie das einfügen, ist es Ihr privater Schlüssel und er muss neu generiert statt wiederverwendet werden.

Wenn Sie noch keinen Schlüssel haben

Generieren Sie einen lokal mit ssh-keygen -t ed25519 -C "your-label", akzeptieren Sie den Standard-Dateispeicherort und legen Sie eine Passphrase fest, wenn Sie dazu aufgefordert werden. Das erzeugt ~/.ssh/id_ed25519 (halten Sie es privat) und ~/.ssh/id_ed25519.pub (fügen Sie das ein).

Kapsule den Schlüsselpaar generieren lassen

Wenn Sie lieber nicht ssh-keygen ausführen möchten, kann KPanel das Paar für Sie erstellen.

  1. Klicken Sie auf Schlüssel hinzufügen.
  2. Füllen Sie das Feld Label aus. Lassen Sie das Textfeld für den öffentlichen Schlüssel leer.
  3. Klicken Sie auf Schlüsselpaar generieren.

Kapsule erstellt ein Ed25519-Paar, installiert die öffentliche Hälfte gegen die Website und zeigt ein grünes Banner: Schlüsselpaar generiert: Laden Sie den privaten Schlüssel jetzt herunter. Klicken Sie auf Download .pem, um den privaten Schlüssel zu speichern. Die Datei ist nach dem von Ihnen gewählten Label benannt.

Der private Schlüssel wird einmal und nur einmal angezeigt. Das Banner sagt es deutlich: Dies ist das einzige Mal, dass Sie ihn herunterladen können. Kapsule behält keine Kopie, die Sie später abrufen können. Wenn Sie das Banner verwerfen, ohne es herunterzuladen, widerrufen Sie den Schlüssel und generieren Sie ein neues Paar.

Ein generierter Schlüssel hat keine Passphrase, was ihn aus einem Skript ohne Aufforderung verwendbar macht. Das bedeutet aber auch, dass die Datei selbst die ganze Berechtigung ist. Wenn Sie eine Passphrase möchten, generieren Sie das Paar selbst mit ssh-keygen und fügen Sie die öffentliche Hälfte ein.

Nachdem Sie die Datei heruntergeladen haben, verschieben Sie sie an einen sinnvollen Ort und verschärfen Sie ihre Berechtigungen, da SSH sich weigert, einen weltweit lesbaren privaten Schlüssel zu verwenden:

mv ~/Downloads/my-laptop_id_ed25519.pem ~/.ssh/kapsule-mysite.pem
chmod 600 ~/.ssh/kapsule-mysite.pem
ssh -i ~/.ssh/kapsule-mysite.pem <username>@<host> -p <port>

Ersetzen Sie den Benutzernamen, Host und Port aus der Karte Verbindungsdetails.

Lesen der Liste der autorisierten Schlüssel

Jede Zeile in Autorisierte Schlüssel zeigt:

  • Das Label, das Sie dem Schlüssel gegeben haben.
  • Den Fingerabdruck des Schlüssels, der zeigt, wie Sie zwei Schlüssel unterscheiden, wenn die Labels ähnlich sind.
  • Added mit dem Datum seiner Registrierung.
  • Last used mit dem Datum der letzten Authentifizierung oder Never used, wenn er sich noch nicht authentifiziert hat.

Die Spalte Last used ist die nützliche während einer Bereinigung. Ein Schlüssel, der nie verwendet wurde oder seit Monaten nicht verwendet wurde, ist normalerweise ein Laptop, der ersetzt wurde, oder ein Auftragnehmer, der weitergezogen ist.

Widerrufen eines Schlüssels

Klicken Sie auf das rote Mülltonnen-Symbol in der Zeile des Schlüssels. KPanel fragt Sie zur Bestätigung mit SSH-Schlüssel widerrufen? und einem Hinweis, dass der Schlüssel sich nicht mehr gegen diese Website authentifiziert. Klicken Sie auf Widerrufen, um den Vorgang abzuschließen.

Der Widerruf tritt für neue Verbindungen in Kraft. Eine bereits offene SSH-Sitzung wird durch den Widerruf des Schlüssels nicht beendet. Wenn Sie also den Zugriff von jemandem entziehen, der möglicherweise noch verbunden ist, widerrufen Sie den Schlüssel und ändern Sie dann alles, was er mitgenommen haben könnte: Datenbankpasswörter, Anwendungsgeheimnisse und alle auf der Website gespeicherten Token.

Halten Sie die Schlüsselliste kurz. Ein Schlüssel pro Computer, beschriftet mit dem Computer-Namen, ist viel einfacher zu überprüfen als ein Haufen Schlüssel mit Namen wie "key1", "new key" und "temp".

Fehlerbehebung

Permission denied (publickey). Die häufigste Ursache ist, dass Ihr Client einen anderen Schlüssel anbietet als den, den Sie registriert haben. Erzwingen Sie den richtigen mit ssh -i /path/to/private_key ... oder überprüfen Sie mit ssh -v, welche Schlüssel angeboten werden.

Connection refused oder ein Timeout. Bestätigen Sie, dass Sie den in Verbindungsdetails angezeigten Port verwenden und nicht den Standard-Port 22. Kopieren Sie den SSH-Befehl von der Seite, anstatt ihn einzugeben.

Bad permissions on the private key. OpenSSH weigert sich, einen privaten Schlüssel zu verwenden, den andere Benutzer lesen können. Führen Sie chmod 600 auf der Datei aus.

Der Schlüssel funktioniert für SSH aber nicht für SFTP. Sie verwenden die gleichen Anmeldedaten, daher ist dies fast immer der Client und nicht der Schlüssel. Verwenden Sie den SFTP-Befehl, der von der Seite kopiert wurde, der bereits den richtigen Port enthält.

Nächste Schritte

Benötigen Sie noch Hilfe?

Schreiben Sie uns an support@kapsulehost.com oder öffnen Sie einen Chat in KPanel.

KPanel öffnen
SSH-Schlüssel zu einer Website hinzufügen