Websites

SSH-sleutels aan een site toevoegen

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-toegang tot een Kapsule-site is op sleutelgebaseerd, dus voordat u een shell of SFTP-sessie kunt openen, moet u een openbare sleutel voor de site in KPanel registreren. Deze gids behandelt waar het zich bevindt, hoe u een sleutel toevoegt die u al heeft, hoe u Kapsule een sleutel laat genereren, en hoe u een sleutel intrekt die u niet meer vertrouwt.

Waar de SSH-sleutels pagina zich bevindt

Open Websites, klik op de site, open vervolgens het menu Files in de site-tabbladstrip en kies SSH Keys. De pagina heet SSH access en bevat twee dingen: de verbindingsgegevens voor deze site en de lijst met openbare sleutels die momenteel geautoriseerd zijn om deze te gebruiken.

Er is geen SSH-item op het hoogste niveau in de zijbalk. Sleutels zijn per site, dus een sleutel die u hier toevoegt, verifieert alleen tegen deze site. Als u meerdere sites uitvoert, heeft elk ervan een eigen vermelding nodig, zelfs als het dezelfde sleutel op uw laptop is.

SSH access-pagina voor een site in KPanel

Een sleutel toevoegen of intrekken vereist de toestemming sites:write. Als u een teamaccount hebt met een alleen-lezen rol, zijn de knop Add key en het intrekkingspictogram verborgen. Vraag een accounteigenaar of beheerder de wijziging aan te brengen.

Verbindingsgegevens

De kaart Connection details bovenaan de pagina toont alles wat uw client nodig heeft:

VeldWat het is
HostDe hostnaam waarmee u verbinding maakt
PortDe SSH-poort voor deze site
UsernameDe systeemgebruiker waarop uw site wordt uitgevoerd
SSHEen kant-en-klaar ssh-commando voor deze site
SFTPEen kant-en-klaar sftp-commando voor deze site

Elke rij heeft een kopieerbesturingselement, en de SSH- en SFTP-rijen kopiëren het hele commando in plaats van alleen de waarde, zodat u rechtstreeks in een terminal kunt plakken. Gebruik deze twee in plaats van het commando zelf in te typen: ze bevatten al de juiste gebruiker, host en poort.

Als de kaart helemaal niet verschijnt, heeft de site de shell-gebruiker nog niet provisioned. De API retourneert in dat geval een eenvoudige fout Site has no SSH user. Wacht tot de site-statuspil Active aangeeft en laad opnieuw.

Een sleutel toevoegen die u al hebt

De meeste mensen hebben al een sleutelpaar op hun computer. Voeg hier het openbare gedeelte toe.

  1. Druk op uw eigen computer uw openbare sleutel af. Op macOS en Linux is dat meestal cat ~/.ssh/id_ed25519.pub, of cat ~/.ssh/id_rsa.pub voor een oudere RSA-sleutel. Op Windows met OpenSSH is het type %USERPROFILE%\.ssh\id_ed25519.pub.
  2. Kopieer de hele enkele regel, te beginnen met ssh-ed25519, ssh-rsa of ecdsa-sha2-nistp256.
  3. Klik in KPanel op Add key.
  4. Voer iets onthoubaars in het veld Label in, bijvoorbeeld de naam van de machine waar de sleutel zich bevindt.
  5. Plak de openbare sleutel in het tweede veld.
  6. Klik op Add key.

De sleutel verschijnt meteen in de lijst Authorised keys, met de vingerafdruk eronder het label. U kunt onmiddellijk verbinding maken.

Kapsule stuurt ook elke keer een e-mail naar het accountadres wanneer een sleutel wordt toegevoegd, met het label, de vingerafdruk en de site. Die e-mail is opzettelijk: SSH-toegang is een groot vertrouwen, dus als een sleutel verschijnt die u niet hebt toegevoegd, trekt u deze onmiddellijk in en wijzigt u uw wachtwoord.

Plak alleen ooit het bestand .pub. Een private sleutelbestand heeft geen .pub-extensie en begint met een regel als -----BEGIN OPENSSH PRIVATE KEY-----. Als u dat plakt, is het uw private sleutel, en moet deze opnieuw gegenereerd worden in plaats van hergebruikt te worden.

Als u nog geen sleutel hebt

Genereer er een lokaal met ssh-keygen -t ed25519 -C "your-label", accepteer de standaardbestandslocatie en stel een wachtwoord in wanneer daarom wordt gevraagd. Dit produceert ~/.ssh/id_ed25519 (bewaar dit privé) en ~/.ssh/id_ed25519.pub (plak die hier).

Kapsule de sleutelkoppeling laten genereren

Als u liever ssh-keygen niet uitvoert, kan KPanel het paar voor u maken.

  1. Klik op Add key.
  2. Vul het veld Label in. Laat het vak met de openbare sleutel leeg.
  3. Klik op Generate keypair.

Kapsule maakt een Ed25519-paar, installeert het openbare gedeelte voor de site en toont een groen vaandel: Keypair generated: download the private key now. Klik op Download .pem om de private sleutel op te slaan. Het bestand wordt genoemd naar het label dat u hebt gekozen.

De private sleutel wordt één keer en slechts één keer weergegeven. Het vaandel zegt dat duidelijk: dit is de enige keer dat u deze kunt downloaden. Kapsule bewaart geen kopie die u later kunt ophalen. Als u het vaandel afsluit zonder het te downloaden, trekt u de sleutel in en genereert u een nieuw paar.

Een gegenereerde sleutel heeft geen wachtwoord erop, wat het bruikbaar maakt vanuit een script zonder prompts. Dit betekent ook dat het bestand zelf de hele inloggegeven is. Als u een wachtwoord wilt, genereert u het paar zelf met ssh-keygen in plaats daarvan en plakt u het openbare gedeelte.

Verplaats het bestand na het downloaden naar een logische locatie en verscherp de machtigingen ervan, omdat SSH weigert een openbare private sleutel te gebruiken:

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>

Vervang de gebruikersnaam, host en poort uit de kaart Connection details.

De lijst met geautoriseerde sleutels lezen

Elke rij in Authorised keys toont:

  • Het label dat u aan de sleutel hebt gegeven.
  • De sleutelvingerafdruk, dit is hoe u twee sleutels onderscheidt als de labels vergelijkbaar zijn.
  • Added met de datum waarop deze werd geregistreerd.
  • Last used met de datum van de meest recente authenticatie, of Never used als deze nog niet is geverifieerd.

De kolom Last used is nuttig tijdens een opruiming. Een sleutel die nooit is gebruikt, of al maanden niet is gebruikt, is meestal een laptop die is vervangen of een contractant die is vertrokken.

Een sleutel intrekken

Klik op het rode prullenbakpictogram op de rij van de sleutel. KPanel vraagt u ter bevestiging met Revoke SSH key? en een opmerking dat de sleutel niet langer tegen deze site verifieert. Klik op Revoke om af te ronden.

Intrekking wordt van kracht voor nieuwe verbindingen. Een SSH-sessie die al open is, wordt niet beëindigd door de sleutel in te trekken, dus als u de toegang van iemand die nog verbonden kan zijn intrekt, trekt u de sleutel in en wijzigt u vervolgens alles wat zij kunnen hebben meegenomen: databasewachtwoorden, toepassingsgeheimen en alle tokens die op de site zijn opgeslagen.

Houd de sleutellijst kort. Een sleutel per machine, gelabeld met de machinenaam, is veel gemakkelijker om te controleren dan een verzameling sleutels genoemd "key1", "new key" en "temp".

Probleemoplossing

Permission denied (publickey). De meest voorkomende oorzaak is dat uw client een ander sleutel aanbiedt dan die u hebt geregistreerd. Dwing het juiste af met ssh -i /path/to/private_key ..., of controleer met ssh -v welke sleutels worden aangeboden.

Connection refused of een timeout. Controleer of u de poort gebruikt die wordt weergegeven in Connection details en niet standaard 22. Kopieer het SSH-commando van de pagina in plaats van het in te typen.

Bad permissions on the private key. OpenSSH weigert een private sleutel die andere gebruikers kunnen lezen. Voer chmod 600 uit op het bestand.

The key works for SSH but not SFTP. Ze delen dezelfde inloggegeven, dus dit is bijna altijd de client in plaats van de sleutel. Gebruik het SFTP-commando dat van de pagina is gekopieerd, dat al de juiste poort bevat.

Volgende stappen

Nog steeds hulp nodig?

Stuur ons een e-mail op support@kapsulehost.com of open een chat in KPanel.

KPanel openen
SSH-sleutels aan een site toevoegen