De complete gids voor het Sshd_Config-bestand voor Linux

De Complete Gids Voor Het Sshd Config Bestand Voor Linux



SSH of Secure Shell-protocol wordt gebruikt om op afstand in te loggen op een machine en opdrachten uit te voeren op de externe machine. De gegevens die via het SSH-protocol worden overgedragen, worden versleuteld met speciale algoritmen, waardoor SSH veiliger is dan Telnet. Kortom, OpenSSH is een tool die dit protocol implementeert.

Wat zullen we dekken?

In deze handleiding zullen we de verschillende aspecten van het OpenSSH-serverconfiguratiebestand onderzoeken. Laten we nu beginnen.







OpenSSH-configuratiebestanden

Er zijn enkele kernbestanden voor zowel de OpenSSH-client als de server. Het heeft twee soorten configuratiebestanden:



1. Bestanden gerelateerd aan de clientzijde: een van de bestanden is ssh_config. Het is een systeembreed configuratiebestand. Dit bestand bevindt zich op /etc/ssh/ssh_config.



Het andere bestand is config, een gebruikersspecifiek configuratiebestand dat zich bevindt op $HOME/.ssh/config.





Het SSH-programma op een host haalt de configuratie uit deze bestanden of via de opdrachtregelinterface. In het geval van de eerder genoemde bestanden krijgt het systeembrede configuratiebestand, ssh_config, voorrang op het gebruikersspecifieke 'config'-bestand.

2. sshd_config: Het is gerelateerd aan de serverzijde. De OpenSSH-server leest dit bestand wanneer het start.



Het verkennen van de ssd Configuratiebestand

Het sshd-configuratiebestand bevat veel richtlijnen die ook kunnen worden aangepast. Laten we eens kijken naar de standaardlay-out van dit bestand:

$ kat / enz / ssh / sshd_config


# Dit is het systeembrede configuratiebestand van de sshd-server. Zien

# sshd_config(5) voor meer informatie.

Haven 222
Luisteradres 0.0.0.0
Luisteradres ::
Hostsleutel / enz / ssh / ssh_host_sleutel
ServerKeyBits 768
InloggenGraceTime 600

KeyRegenerationInterval 3600
PermitRootLogin ja
NegeerRhosts ja
strikte modi ja
X11Doorschakelnr

ToestaanTcpDoorstuurnr
allowTTY-nr
X11DisplayOffset 10
PrintMotd ja
In leven houden ja
SyslogFacility AUTH

LogNiveau INFO
RhostsAuthenticatienr
RhostsRSAAuthenticatienr
RSA-authenticatie ja
WachtwoordAuthenticatie ja
AllowEmptyPasswords nee
CheckMail nr


Elke regel die begint met '#' wordt als commentaar beschouwd. Laten we enkele van de gegeven parameters verkennen:

1. De Havenrichtlijn specificeert een poortnummer. Dit is het poortnummer waarop de ssd luistert naar verbanden. De standaardwaarde voor deze poort is 22, wat de standaardwaarde is. In ons geval hebben we dit echter gewijzigd in 222.

We kunnen ook meer dan één Port-richtlijn specificeren. Zo kunnen we meerdere poorten gebruiken voor het luisteren op de sshd-verbindingen.

2. Het ListenAddress bevat het IP-adres om op te luisteren. De standaardactie is luisteren naar alle IP-adressen die aan de server zijn gekoppeld. Merk ook op dat de Port-richtlijn de ListenAddress-richtlijn moet opvolgen.

3. Het volledig gekwalificeerde pad van het privé RSA-hostsleutelbestand wordt gespecificeerd door de HostKey-richtlijn. In het vorige geval is het pad /etc/ssh/ssh_host_key .

4. De PermitRootLogin-richtlijn staat de root-login voor sshd toe als deze is ingesteld op ja. Dit moet op nee worden ingesteld, tenzij de bestanden hosts.allow en hosts.deny worden gebruikt om de sshd-toegang te beperken.

5. De X11Forwarding-richtlijn staat X Window System-forwarding toe als deze is ingesteld op ja.

6. Welke Syslog-faciliteit die de ssd should use wordt gespecificeerd met behulp van de SyslogFacility-richtlijn. Houd de standaardwaarde zoals deze is.

7. Het logniveau voor Syslog wordt gespecificeerd met behulp van de LogLevel-richtlijn.

Het wijzigen van de ssd Haven

Standaard is de ssd of OpenSSH-serverdaemon gebruikt poort 22 van het TCP-protocol. Het wordt aanbevolen om dit poortnummer te wijzigen in een andere waarde in een testomgeving. Dit verzekert ons dat de serverconnectiviteit altijd beschikbaar is.

Het is ook een goede gewoonte om de syntaxis van de configuratie van een nieuw sshd_config-bestand te controleren voordat u het gebruikt, ongeacht op welke poort het draait. Om de syntaxis te controleren, kunnen we de volgende opdracht gebruiken:

$ ssd -t


Het is ook belangrijk op te merken dat alleen de rootgebruiker dit bestand zou moeten kunnen lezen en schrijven. Dit betekent dat als een sshd_config-configuratiebestand correct is beveiligd, het uitvoeren van de vorige opdracht root-machtiging nodig heeft.

Als er geen uitvoer verschijnt bij het uitvoeren van de vorige opdracht voor syntaxisverificatie, betekent dit dat het bestand in orde is.

Het standaardconfiguratiebestand en de poort wijzigen

In sommige gevallen willen we een nieuw exemplaar van uitvoeren ssd op een andere poort. Dit kan zijn omdat poort 22 al in gebruik is of omdat er enkele risicogebieden zijn bij het wijzigen van deze poort in een productieomgeving. In dergelijke situaties kunnen we een alternatief configuratiebestand voor onze server maken.

Laten we een nieuw sshd_config-bestand maken als sshd_config_new. Dit bestand kan worden gebruikt voor een aantal verschillende serverparameters. Laten we nu dit bestand specificeren om te worden beschouwd als het nieuwe serverconfiguratiebestand op poortnummer 100:

$ sudo / usr / sbin / ssd -f / enz / ssh / sshd_config_nieuw -p 100


De sshd-daemon luistert nu op poort 100. We kunnen elke poortwaarde gebruiken, maar niet degene die al in gebruik is.

Laten we nu eens kijken of onze nieuwe poort naar wens werkt. Hiervoor moeten we een ssh-clientprogramma gebruiken en de volgende opdracht uitvoeren:

$ / usr / bak / ssh -p 100 < ik p van de serveerder >



De optie '-p' specificeert de poort 100 die moet worden gebruikt op de externe server. Als we lokaal testen, kunnen we de server-IP gebruiken als de localhost-IP:

$ / usr / bak / ssh -p 100 127.0.0.1

Problemen met OpenSSH-configuratie oplossen

Soms werkt onze server niet zoals gewenst. In dergelijke gevallen kunnen we de vlag '-d' gebruiken om problemen met de OpenSSH-serverconfiguratie op te lossen. Met behulp van de vlag '-d' gaat de server naar de foutopsporingsmodus en verwerkt slechts één enkele verbinding.

De uitvoer die wordt geproduceerd in de foutopsporingsmodus is uitgebreid. We kunnen meer '-d'-vlaggen gebruiken om het foutopsporingsniveau te verhogen. Laten we de foutopsporingsopdracht op onze server uitvoeren met behulp van het nieuwe configuratiebestand:

$ / usr / sbin / ssd -d -p 100 -f / enz / ssh / sshd_config_nieuw


De uitvoer van de vorige opdracht logt naar stderr in plaats van de AUTH-functie van syslogd te gebruiken.

Conclusie

OpenSSH-daemon of sshd is een cruciaal onderdeel van veel beheerinfrastructuren. Als zodanig vereist het expertise om het te beheren voor een optimale werking. In dit artikel leerden we over het OpenSSH-serverconfiguratiebestand zoals sshd_config.