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.

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:
| Veld | Wat het is |
|---|---|
| Host | De hostnaam waarmee u verbinding maakt |
| Port | De SSH-poort voor deze site |
| Username | De systeemgebruiker waarop uw site wordt uitgevoerd |
| SSH | Een kant-en-klaar ssh-commando voor deze site |
| SFTP | Een 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.
- Druk op uw eigen computer uw openbare sleutel af. Op macOS en Linux is dat meestal
cat ~/.ssh/id_ed25519.pub, ofcat ~/.ssh/id_rsa.pubvoor een oudere RSA-sleutel. Op Windows met OpenSSH is hettype %USERPROFILE%\.ssh\id_ed25519.pub. - Kopieer de hele enkele regel, te beginnen met
ssh-ed25519,ssh-rsaofecdsa-sha2-nistp256. - Klik in KPanel op Add key.
- Voer iets onthoubaars in het veld Label in, bijvoorbeeld de naam van de machine waar de sleutel zich bevindt.
- Plak de openbare sleutel in het tweede veld.
- 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.
- Klik op Add key.
- Vul het veld Label in. Laat het vak met de openbare sleutel leeg.
- 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
- Uploading Files With SFTP behandelt de bestandsoverdrachtkant van dezelfde inloggegeven.
- Connecting To Your Database Over an SSH Tunnel gebruikt de sleutel die u zojuist hebt toegevoegd om MySQL vanuit een desktopbrowser te bereiken.
- Site Activity Log registreert elke sleutel die u toevoegt, dus u kunt later controleren wie wat en wanneer heeft toegevoegd.