Sshd_Config File Complete Guide til Linux

Sshd Config File Complete Guide Til Linux



SSH- eller Secure Shell-protokol bruges til fjernlogning på en maskine og til at køre kommandoer på den eksterne maskine. De data, der overføres ved hjælp af SSH-protokollen, er krypteret med specielle algoritmer, som gør SSH mere sikker end Telnet. Dybest set er OpenSSH et værktøj, der implementerer denne protokol.

Hvad dækker vi?

I denne vejledning vil vi udforske de forskellige aspekter af OpenSSH-serverkonfigurationsfilen. Lad os komme i gang nu.







OpenSSH-konfigurationsfiler

Der er nogle kernefiler til både OpenSSH-klienten og serveren. Den har to typer konfigurationsfiler:



1. Filer relateret til klientsiden: En af filerne er ssh_config. Det er en systemdækkende konfigurationsfil. Denne fil er placeret på /etc/ssh/ssh_config.



Den anden fil er config, som er en brugerspecifik konfigurationsfil placeret på $HOME/.ssh/config.





SSH-programmet på en vært tager konfigurationen enten fra disse filer eller via kommandolinjegrænsefladen. I tilfælde af de tidligere nævnte filer, får den systemdækkende konfigurationsfil, som er ssh_config, prioritet over den brugerspecifikke 'config'-fil.

2. sshd_config: Det er relateret til serversiden. OpenSSH-serveren læser denne fil, når den starter.



At udforske sshd Konfigurationsfil

sshd-konfigurationsfilen indeholder mange direktiver, som også kan tilpasses. Lad os se på standardlayoutet for denne fil:

$ kat / etc / ssh / sshd_config


# Dette er sshd-serverens systemdækkende konfigurationsfil. Se

# sshd_config(5) for mere information.

Havn 222
ListenAddress 0.0.0.0
ListenAddress ::
HostKey / etc / ssh / ssh_host_key
ServerKeyBits 768
LoginGraceTime 600

KeyRegenerationInterval 3600
PermitRootLogin Ja
IgnorerRhosts Ja
StrictModes Ja
X11Vid.nr

TilladTcpForwarding nr
tilladTTY-nr
X11DisplayOffset 10
PrintMotd Ja
Holde i live Ja
SyslogFacility AUTH

LogLevel INFO
RhostsAutentificeringsnr
RhostsRSAAgodkendelsesnr
RSAA-godkendelse Ja
Adgangskodegodkendelse Ja
Tillad EmptyPasswords no
CheckMail-nr


Enhver linje, der begynder med '#', tages som en kommentar. Lad os undersøge nogle af de givne parametre:

1. Havnedirektivet angiver et portnummer. Dette er portnummeret, hvorpå sshd lytter efter forbindelser. Standardværdien for denne port er 22, som er standardværdien. Men i vores tilfælde ændrede vi det til 222.

Vi kan også specificere mere end ét havnedirektiv. På denne måde kan vi bruge flere porte til at lytte på sshd-forbindelserne.

2. ListenAddressen indeholder IP-adressen til aflytning. Standardhandlingen er at lytte på alle de IP-adresser, der er bundet til serveren. Bemærk også, at Port-direktivet skal efterfølge ListenAddress-direktivet.

3. Den private RSA-værtsnøglefils fuldt kvalificerede sti er specificeret af HostKey-direktivet. I det foregående tilfælde er stien /etc/ssh/ssh_host_key .

4. PermitRootLogin-direktivet tillader root-login for sshd, når det er sat til ja. Dette bør indstilles til nej, medmindre filerne hosts.allow og hosts.deny bruges til at begrænse sshd-adgangen.

5. X11Forwarding-direktivet tillader X Window System-videresendelse, når den er indstillet til ja.

6. Hvilken Syslog-facilitet, som sshd skal bruge er specificeret ved hjælp af SyslogFacility-direktivet. Behold standardværdien som den er.

7. Logningsniveauet for Syslog er angivet ved hjælp af LogLevel-direktivet.

Ændring af sshd Havn

Som standard er sshd eller OpenSSH-serverdæmonen bruger port 22 i TCP-protokollen. Det anbefales at ændre dette portnummer til en anden værdi i et testmiljø. Dette sikrer os, at serverforbindelsen er tilgængelig hele tiden.

Det er også en god praksis at kontrollere syntaksen for konfigurationen af ​​en ny sshd_config-fil, før du bruger den, uanset hvilken port den kører på. For at kontrollere syntaksen kan vi bruge følgende kommando:

$ sshd -t


Det er også vigtigt at bemærke, at kun root-brugeren skal kunne læse og skrive til denne fil. Dette betyder, at hvis en sshd_config-konfigurationsfil er korrekt sikret, kræver det root-autorisation at køre den forrige kommando.

Hvis der ikke vises noget output, når du kører den forrige syntaksbekræftelseskommando, betyder det, at filen er i orden.

Ændring af standardkonfigurationsfilen og -porten

I nogle tilfælde ønsker vi at køre en ny instans af sshd på en anden havn. Dette kan skyldes, at port 22 allerede er i brug, eller der kan være nogle risikoområder ved at ændre denne port i et produktionsmiljø. I sådanne typer situationer kan vi oprette en alternativ konfigurationsfil til vores server.

Lad os oprette en ny sshd_config-fil som sshd_config_new. Denne fil kan bruges til nogle forskellige serverparametre. Lad os nu angive, at denne fil skal betragtes som den nye serverkonfigurationsfil på portnummer 100:

$ sudo / usr / sbin / sshd -f / etc / ssh / sshd_config_new -s 100


sshd-dæmonen lytter nu på port 100. Vi kan bruge enhver portværdi, men ikke den, der allerede er i brug.

Lad os nu tjekke, om vores nye port fungerer som ønsket. Til dette skal vi bruge et ssh-klientprogram og køre følgende kommando:

$ / usr / beholder / ssh -s 100 < ip af serveren >



Indstillingen '-p' angiver port 100, der skal bruges på fjernserveren. I tilfælde af at vi tester lokalt, kan vi bruge server-IP'en til at være den lokale værts-IP:

$ / usr / beholder / ssh -s 100 127.0.0.1

Fejlfinding af OpenSSH-konfiguration

Nogle gange fungerer vores server ikke som ønsket. I sådanne tilfælde kan vi bruge '-d'-flaget til at fejlfinde OpenSSH-serverkonfigurationen. Ved at bruge '-d'-flaget går serveren ind i debug-tilstanden og håndterer kun en enkelt forbindelse.

Outputtet, der produceres i fejlretningstilstanden, er verbose. Vi kan bruge flere '-d'-flag til at hæve fejlfindingsniveauet. Lad os køre fejlretningskommandoen på vores server ved hjælp af den nye konfigurationsfil:

$ / usr / sbin / sshd -d -s 100 -f / etc / ssh / sshd_config_new


Outputtet fra den forrige kommando logger til stderr i stedet for at bruge AUTH-faciliteten i syslogd.

Konklusion

OpenSSH-dæmon eller sshd er en afgørende del af mange administrationsinfrastrukturer. Som sådan kræver det ekspertise at styre det til optimal drift. I denne artikel lærte vi om OpenSSH-serverkonfigurationsfilen som sshd_config.