Wat is SSH en hoe verbind je met een server?
SSH (Secure Shell) is een protocol dat je via een versleutelde verbinding de opdrachtregel van een server op afstand geeft. Om met je server te verbinden open je een terminal op je eigen computer en typ je ssh username@IP-address. Standaard gebruikt de verbinding TCP-poort 22.
SSH is de standaardmanier om een VPS te beheren. Wachtwoorden en opdrachten gaan versleuteld over de lijn, dus het is veilig te gebruiken via internet. Hetzelfde kanaal verzorgt ook bestandsoverdracht (scp en sftp).
Wat je nodig hebt om te verbinden
Je hebt drie dingen nodig: het IP-adres van de server, een gebruikersnaam en een wachtwoord of SSH-sleutel. Open in het Seturack-paneel Mijn servers en klik op je server. Op het tabblad Overzicht staan de rijen IP-adres, Gebruikersnaam en Wachtwoord. Bij servers met een app met één klik toont de pagina bovenaan ook nog een rij Wachtwoord. Daarmee log je in op de app. Gebruik voor SSH de rij Wachtwoord onder Gebruikersnaam.
Verbinden vanaf Windows, macOS en Linux
Open een terminal: PowerShell op Windows, Terminal op macOS en Linux. Typ de onderstaande opdracht. Gebruik de waarde uit de rij Gebruikersnaam in plaats van root, en je eigen adres in plaats van het voorbeeld-IP:
De eerste keer toont SSH de vingerafdruk van de server, waaraan je herkent met welke machine je verbindt. Typ yes en druk op Enter. Je computer onthoudt de vingerafdruk en vergelijkt die bij elke volgende verbinding. Plak daarna het wachtwoord. Terwijl je typt verschijnt er niets op het scherm, dat is normaal.
Met de vingerafdruk controleer je of de machine waarmee je verbonden bent echt je server is. Wil je zeker zijn, open dan de VNC-console in het paneel, voer onderstaande opdracht op de server uit en vergelijk de waarde die met SHA256: begint met wat je terminal liet zien:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Op Windows 10 (versie 1809) en nieuwer is de OpenSSH-client een optionele functie. Wordt de opdracht ssh niet gevonden, voeg dan OpenSSH Client toe onder Optionele functies in Instellingen. Of voer dit uit in een PowerShell-venster dat als beheerder is geopend:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Luistert SSH op de server op een andere poort, voeg dan -p toe. Wil je een bepaald sleutelbestand gebruiken, voeg dan -i toe:
ssh -p 2222 -i ~/.ssh/id_ed25519 [email protected]
Zodra je verbonden bent, wordt elke opdracht die je typt op de server uitgevoerd. Met whoami zie je welke gebruiker je bent en met exit sluit je de verbinding. Valt je netwerk weg, dan stoppen ook de processen in die sessie. Start lange taken in tmux, dan blijven ze doorlopen als de verbinding wegvalt. Met tmux attach kom je terug in de sessie.
Bestanden overdragen en een sneltoets
Dezelfde verbinding kan bestanden kopiëren. Van je computer naar de server, en van de server terug naar je computer:
scp backup.zip [email protected]:/root/
scp [email protected]:/root/backup.zip .
Wil je niet elke keer het IP typen, voeg dan deze drie regels toe aan het bestand ~/.ssh/config op je computer:
Host myserver
HostName 203.0.113.5
User root
Vanaf dat moment is ssh myserver genoeg.
Een SSH-sleutel in plaats van een wachtwoord
Inloggen met een sleutel neemt het risico weg dat iemand je wachtwoord raadt, maar alleen als je ook inloggen met een wachtwoord uitzet: een sleutel toevoegen zet dat niet vanzelf uit. Een sleutel bestaat uit twee delen: de privésleutel blijft op je computer en de openbare sleutel komt op de server. De server laat alleen mensen binnen die kunnen bewijzen dat ze de privésleutel hebben. Maak het paar aan op je eigen computer. De opdracht is hetzelfde in Windows PowerShell:
ssh-keygen -t ed25519
Er wordt om een wachtwoordzin gevraagd, laat die dus niet leeg. Er worden twee bestanden aangemaakt: id_ed25519 is de privésleutel en die deel je nooit. id_ed25519.pub is de openbare sleutel. De openbare sleutel kun je op twee manieren aan de server toevoegen:
- Plak in het paneel de inhoud van het
.pub-bestand in het hulpmiddel SSH-sleutels op het tabblad Beheer. De sleutel wordt actief bij de volgende start van de server. - Op Linux en macOS, als je al met het wachtwoord kunt inloggen:
ssh-copy-id [email protected]
Daarna maakt dezelfde ssh-opdracht verbinding zonder naar het serverwachtwoord te vragen. Heb je een wachtwoordzin ingesteld, dan wordt daar naar gevraagd. Inloggen met een wachtwoord uitzetten is een aparte SSH-instelling, en de volgorde van de stappen is belangrijk, anders sluit je jezelf buiten. Dat behandelen we in stap 4 van "De eerste 10 beveiligingsstappen op een nieuwe VPS".
Veelvoorkomende fouten
| Melding | Wat het betekent | Wat je doet |
|---|---|---|
| Permission denied | De gebruikersnaam of het wachtwoord klopt niet, of de sleutel is niet geregistreerd. | Kopieer de waarden van Gebruikersnaam en Wachtwoord uit het paneel en plak ze. Gebruik je een sleutel, controleer dan of de server opnieuw is gestart sinds je de sleutel toevoegde. |
| Connection refused | De SSH-service draait niet op de server, of de poort is dicht. | Controleer of de server draait. Probeer vanuit de VNC-console systemctl start ssh. |
| Connection timed out | Je verzoek komt niet bij de server aan: het IP klopt niet, de server staat uit of een firewall blokkeert poort 22. | Controleer het IP en de serverstatus, bekijk je firewallregels en probeer het vanaf een ander netwerk. |
| Too many authentication failures | Je SSH-agent bood meerdere sleutels aan en de server bereikte zijn limiet aan pogingen. | Bied alleen de sleutel aan die je wilt gebruiken: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 [email protected] |
| REMOTE HOST IDENTIFICATION HAS CHANGED | De vingerafdruk van de server op dit IP is veranderd. Heb je de server opnieuw geïnstalleerd, dan is dat normaal. | Verwachtte je de wijziging, verwijder dan de oude vermelding met ssh-keygen -R 203.0.113.5. Verwachtte je haar niet, maak dan geen verbinding. |
Voer je meerdere keren achter elkaar een verkeerd wachtwoord in, dan blokkeert fail2ban (dat draait op servers met een app met één klik) je IP-adres een tijdje. In die periode kan de verbinding een time-out geven. Wacht even of probeer het vanaf een ander netwerk.
Kun je helemaal niet verbinden
- VNC-console: het hulpmiddel op het tabblad Beheer opent het scherm van de server in je browser. Het is niet afhankelijk van SSH, dus je kunt daar de service controleren.
- Wachtwoord vergeten? Gebruik het hulpmiddel Root-wachtwoord resetten op het tabblad Beheer.
Voor de stappen in het paneel in detail, zie het helpartikel over SSH.
Reacties0
Nog geen reacties
Deel als eerste uw gedachten.
Meld u aan of registreer u om een reactie te plaatsen.