Met SSH werk je vanaf je eigen computer op je server. Inloggen met een sleutel is veiliger dan met een wachtwoord: een sleutel is niet te raden en je typt hem nergens in.
Je hebt nodig:
- het IP-adres van je server (in het portaal onder Overzicht);
- een terminal: op macOS en Linux de app Terminal, op Windows 10 en 11 PowerShell (SSH zit daar al in).
Stap 1: Maak een sleutelpaar op je eigen computer
ssh-keygen -t ed25519 -C "naam of e-mailadres"Druk op Enter om de standaardplek te kiezen en kies een wachtwoordzin. Die beschermt je sleutel als iemand je computer in handen krijgt. Vraagt het programma Overwrite (y/n)?, dan heb je al een sleutel: kies n en gebruik die.
Wat je ziet als het lukt: twee bestanden in ~/.ssh/ (op Windows C:\Users\jouwnaam\.ssh\):
id_ed25519: je privésleutel. Deel die nooit, ook niet met ons.id_ed25519.pub: je publieke sleutel. Die zet je op de server.
Stap 2: Zet je publieke sleutel op de server
Toon de publieke sleutel en kopieer de hele regel. Hij begint met ssh-ed25519.
cat ~/.ssh/id_ed25519.pubOp Windows in PowerShell: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub.
Plak de regel bij het bestellen, of voor een server die al draait onder Toegang van die server. Het portaal accepteert ssh-ed25519, ecdsa-sha2-nistp256 en ssh-rsa (2048 tot 8192 bits). Een privésleutel weigert het portaal.
Stap 3: Verbind met je server
Vervang IP-ADRES door het adres uit het portaal:
ssh root@IP-ADRESDe eerste keer vraagt SSH of je de server vertrouwt en toont een vingerafdruk. Het portaal toont die vingerafdruk nog niet. Typ alleen yes als je het IP-adres net uit je eigen portaal hebt overgenomen.
Wat je ziet als het lukt: een regel als root@hostname:~#. Je bent nu op je server.
Koos je bij het bestellen voor een wachtwoord in plaats van een sleutel? Dan vraagt SSH om het root-wachtwoord dat het portaal je één keer heeft getoond.
Zie je later WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED, terwijl je niet opnieuw hebt geïnstalleerd? Typ niets in en neem contact op. Heb je wel opnieuw geïnstalleerd, dan heeft de server een nieuwe sleutel en wis je de oude zo:
ssh-keygen -R IP-ADRESStap 4: Lukt verbinden niet?
Controleer eerst of je server aan staat (tab Stroom). Verbind daarna met extra uitleg:
ssh -v root@IP-ADRESLees de laatste regels:
Permission denied (publickey): de server kent deze sleutel niet. Gebruik je een andere computer of een andere sleutel? Kies de sleutel dan zelf metssh -i ~/.ssh/id_ed25519 root@IP-ADRES.Connection timed out: de server staat uit, een firewall blokkeert poort 22, of het netwerk waarop je zit blokkeert SSH. Zie Firewall veilig beheren.Connection refused: de server draait, maar SSH luistert niet op poort 22.
Sleutel kwijt of kom je er helemaal niet meer in? Lees Account- en servertoegang herstellen.
Let op: dit heeft gevolgen
Zet je wachtwoordlogin uit terwijl je sleutel niet werkt, dan sluit je jezelf buiten. Dit blijft: je server, je data en je abonnement. Je komt er dan alleen nog bij via de herstelmodus onder Toegang, of door opnieuw te installeren, en dat wist alles. Doe stap 5 pas als stap 3 met je sleutel is gelukt.
Stap 5: Zet inloggen met een wachtwoord uit (optioneel)
Laat je huidige verbinding open tot het einde van deze stap. Zet de instelling in een eigen bestand. Op Ubuntu, Debian en AlmaLinux leest SSH eerst de bestanden in /etc/ssh/sshd_config.d/, en de eerste waarde wint. Een wijziging onderaan /etc/ssh/sshd_config werkt daardoor vaak niet.
printf 'PasswordAuthentication no\nKbdInteractiveAuthentication no\n' > /etc/ssh/sshd_config.d/00-geen-wachtwoord.conf
sshd -t
sshd -T | grep -Ei '^(passwordauthentication|kbdinteractiveauthentication)'sshd -t zegt niets als de instellingen kloppen. De laatste opdracht moet passwordauthentication no tonen. Herstart daarna SSH:
- Ubuntu en Debian:
systemctl restart ssh - AlmaLinux:
systemctl restart sshd
Open een tweede terminal en verbind opnieuw met ssh root@IP-ADRES. Lukt dat met je sleutel, dan pas sluit je de eerste verbinding. Controleer dat een wachtwoord nu wordt geweigerd:
ssh -o PubkeyAuthentication=no root@IP-ADRESJe ziet dan Permission denied (publickey). Terugdraaien: verwijder /etc/ssh/sshd_config.d/00-geen-wachtwoord.conf en herstart SSH.
Hulp nodig?
Lukt het niet? Mail support@eu-hosted.com met de naam of het IP-adres van je server en de laatste regels van ssh -v. Stuur nooit je privésleutel of een wachtwoord mee. We helpen met het portaal en de toegang tot je server, niet met software die je zelf installeert.