Sshd_Config File Complete Guide for Linux

Sshd Config File Complete Guide For Linux



SSH eller Secure Shell-protokollen brukes til å logge på en maskin eksternt og kjøre kommandoer på den eksterne maskinen. Dataene som overføres ved hjelp av SSH-protokollen er kryptert med spesielle algoritmer som gjør SSH sikrere enn Telnet. I utgangspunktet er OpenSSH et verktøy som implementerer denne protokollen.

Hva vil vi dekke?

I denne veiledningen vil vi utforske de forskjellige aspektene ved OpenSSH-serverkonfigurasjonsfilen. La oss komme i gang nå.







OpenSSH-konfigurasjonsfiler

Det er noen kjernefiler for både OpenSSH-klienten og serveren. Den har to typer konfigurasjonsfiler:



1. Filer relatert til klientsiden: En av filene er ssh_config. Det er en systemomfattende konfigurasjonsfil. Denne filen ligger på /etc/ssh/ssh_config.



Den andre filen er config som er en brukerspesifikk konfigurasjonsfil som ligger på $HOME/.ssh/config.





SSH-programmet på en vert tar konfigurasjonen enten fra disse filene eller via kommandolinjegrensesnittet. Når det gjelder de tidligere nevnte filene, gis den systemomfattende konfigurasjonsfilen, som er ssh_config, prioritet over den brukerspesifikke 'config'-filen.

2. sshd_config: Det er relatert til serversiden. OpenSSH-serveren leser denne filen når den starter.



Utforsker sshd Konfigurasjonsfil

sshd-konfigurasjonsfilen inneholder mange direktiver som også kan tilpasses. La oss se på standardoppsettet til denne filen:

$ katt / etc / ssh / sshd_config


# Dette er sshd-serverens systemomfattende konfigurasjonsfil. Se

# sshd_config(5) for mer informasjon.

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

KeyRegenerationInterval 3600
PermitRootLogin ja
IgnorerRhosts ja
StrictModes ja
X11Videresendingsnr

AllowTcpForwarding nr
tillatTTY-nr
X11DisplayOffset 10
PrintMotd ja
Holde i live ja
SyslogFacility AUTH

LogLevel INFO
RhostsAutentiseringsnr
RhostsRSAAautentiseringsnr
RSAAautentisering ja
Passordautentisering ja
AllowEmptyPasswords no
CheckMail-nr


Enhver linje som begynner med '#' tas som en kommentar. La oss utforske noen av de gitte parameterne:

1. Portdirektivet spesifiserer et portnummer. Dette er portnummeret som sshd lytter etter forbindelser. Standardverdien for denne porten er 22, som er standardverdien. Men i vårt tilfelle endret vi den til 222.

Vi kan også spesifisere mer enn ett havnedirektiv. På denne måten kan vi bruke flere porter for å lytte på sshd-tilkoblingene.

2. ListenAddress inneholder IP-adressen for lytting. Standardhandlingen er å lytte på alle IP-adressene som er bundet til serveren. Vær også oppmerksom på at Port-direktivet må etterfølge ListenAddress-direktivet.

3. Den private RSA-vertsnøkkelfilens fullstendige bane er spesifisert av HostKey-direktivet. I det forrige tilfellet er banen /etc/ssh/ssh_host_key .

4. PermitRootLogin-direktivet tillater rotpålogging for sshd når den er satt til yes. Dette bør settes til nei med mindre filene hosts.allow og hosts.deny brukes til å begrense sshd-tilgangen.

5. X11Forwarding-direktivet tillater videresending av X Window System når satt til ja.

6. Hvilket Syslog-anlegg som sshd skal bruk spesifiseres ved å bruke SyslogFacility-direktivet. Behold standardverdien som den er.

7. Loggnivået for Syslog er spesifisert ved hjelp av LogLevel-direktivet.

Endring av sshd Havn

Som standard er sshd eller OpenSSH-serverdemonen bruker port 22 til TCP-protokollen. Det anbefales å endre dette portnummeret til en annen verdi i et testmiljø. Dette sikrer oss at servertilkoblingen er tilgjengelig hele tiden.

Det er også en god praksis å sjekke syntaksen til konfigurasjonen til en ny sshd_config-fil før du bruker den, uavhengig av hvilken port den kjører. For å sjekke syntaksen kan vi bruke følgende kommando:

$ sshd -t


Det er også viktig å merke seg at bare root-brukeren skal kunne lese og skrive til denne filen. Dette betyr at hvis en sshd_config-konfigurasjonsfil er riktig sikret, trenger kjøring av den forrige kommandoen rotautorisasjon.

Hvis ingen utdata vises når du kjører den forrige syntaksbekreftelseskommandoen, betyr det at filen er i orden.

Endre standard konfigurasjonsfil og port

I noen tilfeller ønsker vi å kjøre en ny instans av sshd på en annen havn. Dette kan skyldes at port 22 allerede er i bruk eller at det kan være noen risikoområder ved å endre denne porten i et produksjonsmiljø. I slike typer situasjoner kan vi lage en alternativ konfigurasjonsfil for serveren vår.

La oss lage en ny sshd_config-fil som sshd_config_new. Denne filen kan brukes for noen forskjellige serverparametere. La oss nå spesifisere denne filen som skal anses som den nye serverkonfigurasjonsfilen på portnummer 100:

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


Sshd-demonen lytter nå på port 100. Vi kan bruke hvilken som helst portverdi, men ikke den som allerede er i bruk.

La oss nå sjekke om den nye porten vår fungerer som ønsket. For dette må vi bruke et ssh-klientprogram og kjøre følgende kommando:

$ / usr / bin / ssh -s 100 < ip av serveren >



Alternativet '-p' spesifiserer port 100 som skal brukes på den eksterne serveren. I tilfelle vi tester lokalt, kan vi bruke server-IP-en til å være lokalverts-IP:

$ / usr / bin / ssh -s 100 127.0.0.1

Feilsøking av OpenSSH-konfigurasjon

Noen ganger fungerer ikke serveren vår som ønsket. I slike tilfeller kan vi bruke '-d'-flagget for å feilsøke OpenSSH-serverkonfigurasjonen. Ved å bruke '-d'-flagget går serveren inn i feilsøkingsmodus og håndterer bare en enkelt tilkobling.

Utdataene som produseres i feilsøkingsmodusen er detaljerte. Vi kan bruke flere '-d'-flagg for å heve feilsøkingsnivået. La oss kjøre feilsøkingskommandoen på serveren vår ved å bruke den nye konfigurasjonsfilen:

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


Utdataene fra den forrige kommandoen logges til stderr i stedet for å bruke AUTH-funksjonen til syslogd.

Konklusjon

OpenSSH daemon eller sshd er en avgjørende del av mange administrasjonsinfrastrukturer. Som sådan krever det kompetanse for å administrere det for optimal drift. I denne artikkelen lærte vi om OpenSSH-serverkonfigurasjonsfilen som sshd_config.