SSH (Secure Shell) is een beveiligd netwerkprotocol waarmee je op afstand Linux-servers kunt benaderen en beheren, inclusief Fedora-systemen. Het biedt gecodeerde communicatie tussen de client en de server, waardoor gevoelige gegevens veilig via het netwerk worden verzonden. SSH wordt veel gebruikt voor systeembeheer op afstand, bestandsoverdracht en tunneling. Op Fedora 40 of 39 kan SSH eenvoudig worden ingesteld en geconfigureerd om veilige externe toegang tot je systeem mogelijk te maken.
Deze gids leidt je door het proces van het installeren, inschakelen en configureren van SSH op Fedora 40 of 39, met behulp van de opdrachtregelterminal. Daarnaast worden basis SSH-opdrachten en tips voor een veilige configuratie behandeld.
Update Fedora pakketten vóór SSH installatie
Het updaten van je Fedora systeempakketten voordat je SSH installeert is cruciaal voor het behouden van systeemcompatibiliteit en het voorkomen van conflicten. Zo bent u ervan verzekerd dat al uw systeemcomponenten up-to-date zijn.
Voer de volgende opdracht uit in de terminal om uw pakketten bij te werken:
sudo dnf upgrade --refresh
Met deze opdracht worden de metagegevens van de repository vernieuwd en worden de pakketten geüpgraded, zodat uw systeem actueel is.
Installeer SSH via DNF-opdracht
Voordat je gaat installeren, is het een goede gewoonte om te controleren of de OpenSSH-server al op je Fedora-systeem staat. Gebruik deze opdracht om naar het OpenSSH-serverpakket te zoeken:
rpm -qa | grep openssh-server
Als deze opdracht een resultaat retourneert, wordt de OpenSSH-server geïnstalleerd. Als er geen uitvoer is, moet u deze installeren.
Gebruik deze opdracht om de OpenSSH-server te installeren:
sudo dnf install openssh-server
De SSHD-service inschakelen en starten
Zodra de OpenSSH-server is geïnstalleerd, is uw volgende stap het inschakelen van de SSHD-service. Deze actie zorgt ervoor dat de SSH-daemon automatisch start bij elke systeemopstart, waardoor consistente toegang op afstand wordt geboden.
Schakel SSHD in met deze opdracht:
sudo systemctl enable sshd
Start na het inschakelen de SSH-server met:
sudo systemctl start sshd
Om te controleren of de SSH-server correct werkt, kunt u de status ervan controleren:
systemctl status sshd
SSH gebruiken om verbinding te maken met een extern systeem
Verbinding maken met een externe server met wachtwoordverificatie
Na het instellen van SSH kunt u een verbinding tot stand brengen met een externe server. Voor een op wachtwoord gebaseerde authenticatie gebruikt u de volgende syntaxis:
ssh username@remote_server
Vervang gebruikersnaam door uw daadwerkelijke gebruikersnaam en remote_server door het IP-adres of de hostnaam van de server. Wanneer u deze opdracht uitvoert, wordt u gevraagd uw wachtwoord in te voeren ter verificatie.
Verbinding maken met een externe server met authenticatie met openbare sleutel
Voor verbeterde beveiliging ondersteunt SSH ook authenticatie met openbare sleutels. Deze methode is veiliger dan wachtwoordauthenticatie, omdat er gebruik wordt gemaakt van cryptografische sleutels. Voer de opdracht uit:
ssh -i /path/to/private_key username@remote_server
Vervang hier /path/to/private_key door het pad naar uw privésleutelbestand, gebruikersnaam door uw gebruikersnaam en remote_server door het IP-adres of de hostnaam van de server. Deze methode omzeilt de noodzaak van het invoeren van een wachtwoord en maakt gebruik van de privésleutel voor authenticatie.
Een andere poort opgeven
SSH is standaard ingesteld op poort 22 voor verbindingen. Als de externe server echter op een andere poort luistert, geef deze dan op met de optie -p:
ssh -p 2222 username@remote_server
Wijzig 2222 in het daadwerkelijke poortnummer dat door de externe server wordt gebruikt.
Bestanden overbrengen met SCP
SCP (Secure Copy Protocol) is een veilige methode voor het overbrengen van bestanden tussen systemen via SSH. Gebruik deze opdracht om een bestand van uw lokale systeem naar een externe server te kopiëren:
scp /path/to/local/file username@remote_server:/path/to/remote/directory
Pas /path/to/local/file aan het pad van het lokale bestand aan, gebruikersnaam aan uw gebruikersnaam, remote_server aan het IP-adres of de hostnaam van de server, en /path/to/remote/directory aan de doelmap op de externe server. Met deze opdracht wordt het bestand veilig gekopieerd naar de opgegeven map op de externe server.
Configureer SSH op Fedora Linux Voorbeelden
Schakel GSSAPI-authenticatie uit
Overweeg om GSSAPI-authenticatie uit te schakelen voor betere prestaties, omdat dit de SSH-verbindingstijden kan vertragen. Om dit te doen, voegt u de volgende regel toe aan uw /etc/ssh/sshd_config bestand:
GSSAPIAuthentication no
Deze wijziging voorkomt GSSAPI-authenticatie, waardoor vertragingen tijdens het instellen van de SSH-verbinding kunnen worden verminderd.
Pas de time-outs van SSH-sessies aan
Om time-outs van SSH-sessies te beheren, voegt u deze regels toe aan uw SSH-configuratiebestand:
ClientAliveInterval 300
ClientAliveCountMax 2
Deze configuratie verzendt elke 300 seconden (5 minuten) een keep-alive-bericht en beëindigt de sessie als er na twee berichten geen reactie is ontvangen. Het helpt bij het onderhouden van actieve sessies en het sluiten van inactieve sessies.
Schakel root-aanmelding uit
Het uitschakelen van root-login is een cruciale beveiligingspraktijk ter verdediging tegen brute-force-aanvallen. Neem deze regel op in uw SSH-configuratie:
PermitRootLogin no
Deze instelling zorgt ervoor dat root-login op afstand wordt uitgeschakeld, waardoor de beveiliging van uw systeem aanzienlijk wordt verbeterd.
Gebruik openbare sleutelverificatie
Authenticatie met publieke sleutels biedt een veiliger alternatief voor op wachtwoorden gebaseerde methoden. Genereer eerst een SSH-sleutelpaar:
ssh-keygen -t rsa -b 4096
Breng vervolgens uw openbare sleutel over naar de externe server:
ssh-copy-id user@remote_server
Vervang user door uw gebruikersnaam en remote_server door het IP-adres of de hostnaam van de server. Nadat u de sleutel hebt gekopieerd, schakelt u authenticatie met openbare sleutels in uw SSH-configuratie in:
PubkeyAuthentication yes
Beperk SSH-toegang tot specifieke gebruikers of groepen
Om SSH-toegang tot bepaalde gebruikers of groepen te beperken, voegt u deze regels toe aan uw SSH-configuratiebestand:
AllowUsers user1 user2
AllowGroups group1 group2
Vervang gebruiker1 gebruiker2 door de toegestane gebruikersnamen en groep1 groep2 door de toegestane groepsnamen. Deze beperking verbetert de veiligheid door de toegang te beperken.
De poort van SSH wijzigen
Het wijzigen van de standaard SSH-poort (22) kan ongeautoriseerde toegangspogingen verminderen. Om de SSH-poort te wijzigen, voegt u deze regel toe aan uw SSH-configuratiebestand:
Port <port_number>
Vervangen met uw gekozen poort, idealiter tussen 1024 en 65535, zodat een andere service deze niet gebruikt. Deze stap voegt een extra beveiligingslaag toe door de SSH-poort te verbergen voor geautomatiseerde aanvallen.
SSH-beveiliging met Firewalld
Uw IP-adres toestaan in Firewalld
Het garanderen van ononderbroken toegang is van cruciaal belang in een Fedora-gebaseerde VPS of externe serveromgeving. Het toestaan van uw IP-adres is essentieel voordat u de Firewalld-instellingen aanpast, vooral voor externe systeemverbindingen. Als u dit over het hoofd ziet, kan dit ertoe leiden dat u de toegang tot de server verliest na het aanbrengen van firewallwijzigingen.
Om uw specifieke IP-adres in Firewalld toe te staan, voert u de volgende opdracht uit:
sudo firewall-cmd --permanent --add-source=<your_ip_address>
Vervangen met het daadwerkelijke IP-adres dat u momenteel gebruikt. Deze stap is cruciaal om uw toegang ononderbroken te houden.
SSH-service integreren in Firewalld
Zodra uw IP-adres veilig is toegestaan, voegt u de SSH-service toe aan Firewalld. Deze actie zorgt ervoor dat SSH-verbindingen via de firewall worden toegestaan. Gebruik deze opdracht:
sudo firewall-cmd --add-service=ssh --permanent
Met deze opdracht wordt SSH toegevoegd aan de lijst met services die Firewall door de firewall toestaat.
Bijgewerkte firewall-instellingen activeren
Nadat u de nodige wijzigingen heeft aangebracht, kunt u deze toepassen door Firewalld opnieuw te laden:
sudo firewall-cmd --reload
Als u Firewalld opnieuw laadt, worden de nieuwe instellingen geactiveerd zonder de huidige netwerkverbinding te onderbreken.
SSH-service verifiëren in Firewalld
Om ervoor te zorgen dat SSH correct is geconfigureerd en toegestaan in Firewalld, voert u het volgende uit:
sudo firewall-cmd --list-services | grep ssh
Met deze opdracht wordt de lijst met services gecontroleerd die Firewalld toestaat en wordt de aanwezigheid van SSH bevestigd, waarbij wordt gecontroleerd of uw externe SSH-sessies veilig en toegankelijk zijn.
Conclusie
Als SSH succesvol is geïnstalleerd en geconfigureerd op je Fedora systeem, kun je je server veilig op afstand beheren. Door uw SSH-configuratie regelmatig bij te werken en de best practices te volgen, kunt u een veilige en efficiënte omgeving voor extern beheer behouden. Of je nu toegang hebt tot je systeem vanaf een andere computer in je netwerk of een server beheert in een datacenter, SSH biedt de essentiële tools voor veilig extern beheer op Fedora.