Ang Sshd_Config File na Kumpletong Gabay para sa Linux

Ang Sshd Config File Na Kumpletong Gabay Para Sa Linux



Ang SSH o Secure Shell protocol ay ginagamit para sa malayuang pag-log in sa isang makina at pagpapatakbo ng mga command sa remote na makina. Ang data na inilipat gamit ang SSH protocol ay naka-encrypt gamit ang mga espesyal na algorithm na ginagawang mas secure ang SSH kaysa sa Telnet. Karaniwan, ang OpenSSH ay isang tool na nagpapatupad ng protocol na ito.

Ano ang Sasaklawin Natin?

Sa gabay na ito, tutuklasin namin ang iba't ibang aspeto ng file ng configuration ng OpenSSH server. Magsimula tayo ngayon.







OpenSSH Configuration Files

Mayroong ilang mga pangunahing file para sa parehong OpenSSH client at server. Mayroon itong dalawang uri ng mga configuration file:



1. Mga file na nauugnay sa panig ng kliyente: Ang isa sa mga file ay ssh_config. Ito ay isang system-wide configuration file. Ang file na ito ay matatagpuan sa /etc/ssh/ssh_config.



Ang isa pang file ay config na isang configuration file na partikular sa user na matatagpuan sa $HOME/.ssh/config.





Kinukuha ng SSH program sa isang host ang configuration mula sa mga file na ito o sa pamamagitan ng interface ng command line. Sa kaso ng mga naunang nabanggit na file, ang file ng configuration sa buong system, na ssh_config, ay binibigyan ng priyoridad kaysa sa file na 'config' na partikular sa user.

2. sshd_config: Ito ay nauugnay sa panig ng server. Binabasa ng OpenSSH server ang file na ito kapag nagsimula ito.



Paggalugad sa sshd File ng Configuration

Ang sshd config file ay naglalaman ng maraming mga direktiba na maaari ding ipasadya. Tingnan natin ang default na layout ng file na ito:

$ pusa / atbp / ssh / sshd_config


# Ito ang sshd server system-wide configuration file. Tingnan mo

# sshd_config(5) para sa karagdagang impormasyon.

Port 222
ListenAddress 0.0.0.0
ListenAddress ::
HostKey / atbp / ssh / ssh_host_key
ServerKeyBits 768
LoginGraceTime 600

KeyRegenerationInterval 3600
PermitRootLogin oo
IgnoreRhosts oo
Mga StrictModes oo
X11Pagpapasa ng blg

AllowTcpForwarding no
allowTTY no
X11DisplayOffset 10
PrintMotd oo
Panatilihing buhay oo
SyslogFacility AUTH

IMPORMASYON sa LogLevel
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication oo
PasswordAuthentication oo
AllowEmptyPasswords no
CheckMail no


Ang anumang linya na nagsisimula sa '#' ay kinuha bilang isang komento. Tuklasin natin ang ilan sa mga ibinigay na parameter:

1. Tinutukoy ng Direktiba ng Port ang isang numero ng port. Ito ang port number kung saan ang sshd nakikinig para sa mga koneksyon. Ang default na halaga para sa port na ito ay 22 na siyang karaniwang isa. Gayunpaman, sa aming kaso, binago namin ito sa 222.

Gayundin, maaari naming tukuyin ang higit sa isang Port directive. Sa ganitong paraan, maaari tayong gumamit ng maraming port para sa pakikinig sa mga koneksyon sa sshd.

2. Ang ListenAddress ay naglalaman ng IP address para sa pakikinig. Ang default na aksyon ay makinig sa lahat ng IP address na nakatali sa server. Tandaan din na ang direktiba ng Port ay dapat magtagumpay sa direktiba ng ListenAddress.

3. Ang ganap na kwalipikadong path ng pribadong RSA host key file ay tinukoy ng direktiba ng HostKey. Sa nakaraang kaso, ang landas ay /etc/ssh/ssh_host_key .

4. Ang direktiba ng PermitRootLogin ay nagbibigay-daan sa root login para sa sshd kapag nakatakda ito sa oo. Dapat itong itakda sa no maliban kung ang mga file ng hosts.allow at hosts.deny ay ginagamit upang paghigpitan ang pag-access sa sshd.

5. Ang direktiba ng X11Forwarding ay nagpapahintulot sa pagpasa ng X Window System kapag nakatakda sa oo.

6. Aling pasilidad ng Syslog ang sshd dapat gamitin ay tinukoy gamit ang SyslogFacility directive. Panatilihin ang default na halaga bilang ay.

7. Ang antas ng pag-log para sa Syslog ay tinukoy gamit ang LogLevel na direktiba.

Pagbabago ng sshd Port

Bilang default, ang sshd o OpenSSH server daemon ay gumagamit ng port 22 ng TCP protocol. Inirerekomenda na baguhin ang port number na ito sa ibang value sa isang testing environment. Tinitiyak nito sa amin na ang koneksyon ng server ay magagamit sa lahat ng oras.

Gayundin, ito ay isang magandang kasanayan upang suriin ang syntax ng configuration ng isang bagong sshd_config file bago ito gamitin, hindi isinasaalang-alang kung saang port ito tumatakbo. Upang suriin ang syntax, maaari naming gamitin ang sumusunod na command:

$ sshd -t


Mahalaga ring tandaan na ang root user lang ang dapat na makakabasa at makakasulat sa file na ito. Nangangahulugan ito na kung ang isang sshd_config configuration file ay maayos na na-secure, ang pagpapatakbo ng nakaraang command ay nangangailangan ng root authority.

Kung walang lumabas na output kapag pinapatakbo ang nakaraang command sa pag-verify ng syntax,  nangangahulugan ito na okay ang file.

Pagbabago sa Default na Configuration File at Port

Sa ilang sitwasyon, gusto naming magpatakbo ng bagong instance ng sshd sa ibang port. Ito ay maaaring dahil ang port 22 ay ginagamit na o maaaring may ilang mga panganib na lugar sa pagbabago ng port na ito sa isang kapaligiran ng produksyon. Sa ganitong mga uri ng sitwasyon, maaari kaming lumikha ng alternatibong configuration file para sa aming server.

Gumawa tayo ng bagong sshd_config file bilang sshd_config_new. Maaaring gamitin ang file na ito para sa ilang magkakaibang mga parameter ng server. Ngayon, tukuyin natin ang file na ito na ituring bilang bagong file ng pagsasaayos ng server sa port number 100:

$ sudo / usr / sbin / sshd -f / atbp / ssh / sshd_config_new -p 100


Nakikinig na ngayon ang sshd daemon sa port 100. Magagamit natin ang anumang halaga ng port ngunit hindi ang ginagamit na.

Ngayon, tingnan natin kung gumagana ang aming bagong port ayon sa ninanais. Para dito, kailangan nating gumamit ng ssh client program at patakbuhin ang sumusunod na command:

$ / usr / bin / ssh -p 100 < ip ng server >



Tinutukoy ng opsyong “-p” ang port 100 na gagamitin sa remote server. Kung sakaling kami ay lokal na pagsubok, maaari naming gamitin ang server IP upang maging localhost IP:

$ / usr / bin / ssh -p 100 127.0.0.1

Pag-troubleshoot ng OpenSSH Configuration

Minsan, ang aming server ay hindi gumagana ayon sa ninanais. Sa ganitong mga kaso, maaari naming gamitin ang flag na '-d' upang i-troubleshoot ang configuration ng OpenSSH server. Gamit ang flag na '-d', papasok ang server sa debug mode at humahawak lamang ng isang koneksyon.

Ang output na ginawa sa debug mode ay verbose. Maaari kaming gumamit ng higit pang '-d' na mga flag para itaas ang antas ng pag-debug. Patakbuhin natin ang debug command sa aming server gamit ang bagong configuration file:

$ / usr / sbin / sshd -d -p 100 -f / atbp / ssh / sshd_config_new


Ang output mula sa nakaraang command logs sa stderr sa halip na gamitin ang AUTH pasilidad ng syslogd.

Konklusyon

Ang OpenSSH daemon o sshd ay isang mahalagang bahagi ng maraming mga imprastraktura ng administrasyon. Dahil dito, nangangailangan ito ng kadalubhasaan upang pamahalaan ito para sa pinakamainam na operasyon. Sa artikulong ito, natutunan namin ang tungkol sa OpenSSH server configuration file tulad ng sshd_config.