Sshd_Config-tiedoston täydellinen opas Linuxille

Sshd Config Tiedoston Taydellinen Opas Linuxille



SSH- tai Secure Shell -protokollaa käytetään etäkirjautumiseen koneelle ja komentojen suorittamiseen etäkoneella. SSH-protokollalla siirrettävät tiedot on salattu erityisillä algoritmeilla, mikä tekee SSH:sta Telnetiä turvallisemman. Pohjimmiltaan OpenSSH on työkalu, joka toteuttaa tämän protokollan.

Mitä katamme?

Tässä oppaassa tutkimme OpenSSH-palvelimen määritystiedoston eri puolia. Aloitetaan nyt.







OpenSSH-määritystiedostot

Sekä OpenSSH-asiakkaalle että palvelimelle on joitain ydintiedostoja. Siinä on kahden tyyppisiä asetustiedostoja:



1. Asiakaspuolelle liittyvät tiedostot: Yksi tiedostoista on ssh_config. Se on koko järjestelmän kattava määritystiedosto. Tämä tiedosto sijaitsee osoitteessa /etc/ssh/ssh_config.



Toinen tiedosto on config, joka on käyttäjäkohtainen asetustiedosto, joka sijaitsee osoitteessa $HOME/.ssh/config.





Isäntäkoneen SSH-ohjelma ottaa asetukset joko näistä tiedostoista tai komentoriviliittymän kautta. Edellä mainittujen tiedostojen tapauksessa järjestelmänlaajuinen asetustiedosto, joka on ssh_config, on etusijalla käyttäjäkohtaiseen 'config'-tiedostoon nähden.

2. sshd_config: Se liittyy palvelinpuolelle. OpenSSH-palvelin lukee tämän tiedoston käynnistyessään.



Tutkimassa sshd Asetustiedosto

Sshd-asetustiedosto sisältää monia direktiivejä, joita voidaan myös mukauttaa. Katsotaanpa tämän tiedoston oletusasettelua:

$ kissa / jne / ssh / sshd_config


# Tämä on sshd-palvelimen järjestelmänlaajuinen määritystiedosto. Katso

# sshd_config(5) saadaksesi lisätietoja.

Portti 222
Kuunteluosoite 0.0.0.0
Kuunteluosoite::
HostKey / jne / ssh / ssh_host_key
ServerKeyBits 768
Kirjaudu GraceTimeen 600

KeyRegenerationInterval 3600
PermitRootLogin Joo
Ohita Rhosts Joo
Tiukat tilat Joo
X11 Edelleenlähetys nro

SalliTcpForwarding no
salli TTY nro
X11 DisplayOffset 10
PrintMotd Joo
Pitää hengissä Joo
SyslogFacility AUTH

LogLevel INFO
RhostsAuthentication no
RhostsRSAAtodennus nro
RSAA-todennus Joo
Salasanatodennus Joo
AllowEmptyPasswords no
CheckMail no


Mikä tahansa rivi, joka alkaa kirjaimella #, katsotaan kommentiksi. Tutkitaan joitain annetuista parametreista:

1. Porttidirektiivi määrittää portin numeron. Tämä on portin numero, jossa sshd kuuntelee yhteyksiä. Tämän portin oletusarvo on 22, joka on vakio. Meidän tapauksessamme muutimme sen kuitenkin 222:een.

Voimme myös määrittää useamman kuin yhden porttidirektiivin. Tällä tavalla voimme käyttää useita portteja sshd-yhteyksien kuunteluun.

2. ListenAddress sisältää IP-osoitteen kuuntelua varten. Oletustoiminto on kuunnella kaikkia IP-osoitteita, jotka on sidottu palvelimeen. Huomaa myös, että Port-direktiivin on seurattava ListenAddress-direktiiviä.

3. Yksityisen RSA-isäntäavaintiedoston täydellinen polku on määritetty HostKey-direktiivissä. Edellisessä tapauksessa polku on /etc/ssh/ssh_host_key .

4. PermitRootLogin-direktiivi sallii sshd:n pääkäyttäjän kirjautumisen, kun sen arvo on kyllä. Tämä tulee asettaa arvoon no, ellei hosts.allow- ja hosts.deny-tiedostoja käytetä sshd-käyttöä rajoittamiseen.

5. X11Forwarding-direktiivi sallii X Window Systemin edelleenlähetyksen, kun se on asetettu kyllä.

6. Mikä Syslog-toiminto sshd pitäisi käyttää määritetään SyslogFacility-direktiivin avulla. Säilytä oletusarvo sellaisenaan.

7. Syslogin kirjaustaso määritetään LogLevel-direktiivin avulla.

Muuttaminen sshd Portti

Oletuksena sshd tai OpenSSH-palvelindaemon käyttää TCP-protokollan porttia 22. On suositeltavaa vaihtaa tämä portin numero johonkin muuhun arvoon testausympäristössä. Tämä varmistaa meille, että palvelinyhteys on käytettävissä koko ajan.

Lisäksi on hyvä käytäntö tarkistaa uuden sshd_config-tiedoston kokoonpanon syntaksi ennen sen käyttöä riippumatta siitä, missä portissa se toimii. Syntaksin tarkistamiseksi voimme käyttää seuraavaa komentoa:

$ sshd -t


On myös tärkeää huomata, että vain pääkäyttäjän pitäisi pystyä lukemaan ja kirjoittamaan tätä tiedostoa. Tämä tarkoittaa, että jos sshd_config-määritystiedosto on asianmukaisesti suojattu, edellisen komennon suorittaminen vaatii pääkäyttäjän oikeudet.

Jos tulostetta ei näy suoritettaessa edellistä syntaksin tarkistuskomentoa, se tarkoittaa, että tiedosto on kunnossa.

Oletusasetustiedoston ja -portin muokkaaminen

Joissakin tapauksissa haluamme suorittaa uuden esiintymän sshd eri satamassa. Tämä voi johtua siitä, että portti 22 on jo käytössä tai tämän portin vaihtamisessa tuotantoympäristössä voi olla riskialueita. Tällaisissa tilanteissa voimme luoda vaihtoehtoisen määritystiedoston palvelimellemme.

Luodaan uusi sshd_config-tiedosto nimellä sshd_config_new. Tätä tiedostoa voidaan käyttää joissakin eri palvelinparametreissa. Määritetään nyt tämä tiedosto, jota pidetään uutena palvelimen kokoonpanotiedostona portissa numero 100:

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


Sshd-daemon kuuntelee nyt porttia 100. Voimme käyttää mitä tahansa porttiarvoa, mutta emme sitä, joka on jo käytössä.

Nyt tarkistetaan, toimiiko uusi portti halutulla tavalla. Tätä varten meidän on käytettävä ssh-asiakasohjelmaa ja suoritettava seuraava komento:

$ / usr / roskakori / ssh -s 100 < ip palvelimelta >



Vaihtoehto '-p' määrittää etäpalvelimessa käytettävän portin 100. Jos testaamme paikallisesti, voimme käyttää palvelimen IP-osoitetta paikallispalvelimen IP-osoitteena:

$ / usr / roskakori / ssh -s 100 127.0.0.1

OpenSSH-kokoonpanon vianmääritys

Joskus palvelimemme ei toimi toivotulla tavalla. Tällaisissa tapauksissa voimme käyttää '-d'-lippua OpenSSH-palvelimen kokoonpanon vianmääritykseen. Käyttämällä '-d'-lippua palvelin siirtyy virheenkorjaustilaan ja käsittelee vain yhden yhteyden.

Debug-tilassa tuotettu tulos on monisanainen. Voimme käyttää useampia '-d'-lippuja nostaaksemme virheenkorjaustasoa. Suoritetaan debug-komento palvelimellamme käyttämällä uutta asetustiedostoa:

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


Edellisen komennon tulos lokitiedostoon stderr sen sijaan, että käytettäisiin syslogd:n AUTH-toimintoa.

Johtopäätös

OpenSSH-daemon tai sshd on tärkeä osa monia hallintoinfrastruktuureja. Sellaisenaan se vaatii asiantuntemusta sen hallitsemiseksi optimaalisen toiminnan varmistamiseksi. Tässä artikkelissa opimme OpenSSH-palvelimen määritystiedostosta, kuten sshd_config.