Met SSH kun je op afstand inloggen op een Linux/Unix server. Om ervoor te zorgen dat er geen onbevoegden op de server kunnen komen dien je een aantal instellingen aan te passen die ik hieronder zal beschrijven.
SSH public en private key maken
Bijgewerkt op 02-01-2022:
Op dit moment is ed25519 de meest veilige optie.
# ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "naam@domeinnaam.nl"
Vervolgens worden er in het profiel twee verschillende bestanden aangemaakt:
~/.ssh/id_ed25519 (private key)
~/.ssh/id_ed25519 (public key)
SSH key copieeren naar andere server
# ssh-copy-id username@servername
Configureren van SSH toegang voor de server
Open het configuratiebestand:
# vi /etc/ssh/sshd_config
Pas de onderstaande instellingen aan:
Port 22
# Specifies the location containing the private host key
HostKey /etc/ssh/ssh_host_key
# LOGGING
SyslogFacility AUTHPRIV
LogLevel VERBOSE
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024
# Authentication:
LoginGraceTime 120
PermitRootLogin forced-commands-only
MaxAuthTries 6
PubkeyAuthentication yes
IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PermitEmptyPasswords no
PasswordAuthentication no
ClientAliveInterval 300
ClientAliveCountMax 0
# You need to create a /etc/banner file
Banner /etc/banner
AllowUsers user1
DenyUsers user2
Sla het bestand vervolgens op.
Om de wijzigingen door te voeren dient de service SSHD opnieuw opgestart te worden, dat kan met de onderstaande commando:
# service sshd restart
SSH beveiligingseisen controle
Hieronder staan twee websites waar je online een check kan doen om te kijken of je SSH voldoet aan de laatste beveiligingseisen