Ubuntu SSH seadistamine: täielik juhend algajatele ja edasijõudnutele

目次

1. Sissejuhatus

SSH kasutamine Ubuntus võimaldab turvaliselt kaugelt serveritele ja arvutitele ligi pääseda ja neid hallata. Käesolev artikkel selgitab põhjalikult SSH-d, alates selle ülevaatest kuni SSH-serveri installimise, turvalisuse tagamise ja veaotsinguni Ubuntus, et ka algajad sellest aru saaksid.

Mis on SSH?

SSH (Secure Shell) on protokoll, mis loob turvalise ühenduse kaugserveriga üle võrgu. Erinevalt traditsioonilistest Telnetist ja FTP-st on andmed krüpteeritud, mis vähendab oluliselt pealtkuulamise ja andmete manipuleerimise riski.

SSH peamised kasutusviisid Ubuntus

Peamised stsenaariumid SSH kasutamiseks Ubuntus on järgmised:

     

  • Kaugserveri haldamine: Ubuntu serveri kaugjuhtimine
  •  

  • Failiedastus: Turvaline failide vahetamine SCP või SFTP abil
  •  

  • Pordi edastamine: Turvalisem kaugühendus

Mida see artikkel õpetab?

     

  • SSH põhimõisted ja toimimine
  •  

  • Kuidas installida SSH-serverit Ubuntusse
  •  

  • SSH-ühenduse seadistamine ja veaotsing
  •  

  • SSH turvameetmed
年収訴求

2. SSH põhimõisted

SSH efektiivseks kasutamiseks on oluline mõista selle põhimõisteid. See peatükk selgitab SSH toimimist ja erinevaid autentimismeetodeid.

Kuidas SSH töötab?

SSH on protokoll, mis loob turvalise ühenduse kliendi ja serveri vahel. Vaikimisi kasutab see TCP porti 22 ja krüpteeritud sidet.

Põhifunktsioonid

     

  • Kauglogimine: Käskude käivitamine serveris
  •  

  • Failiedastus: Turvaline andmeedastus SCP või SFTP kaudu
  •  

  • Pordi edastamine: Ühendamine teiste teenustega SSH kaudu

SSH autentimismeetodid

SSH-l on peamiselt kaks autentimismeetodit:

Parooliga autentimine

     

  • Logimine kasutajanime ja parooliga
  •  

  • Lihtne, kuid sisaldab toore jõu (brute-force) rünnakute riski

Avaliku võtme autentimine

     

  • Autentimismeetod avaliku ja privaatvõtme abil
  •  

  • Kõrge turvalisusega, soovitatav autentimismeetod

SSH eelised

     

  • Andmete krüpteerimine: Side sisu on kaitstud
  •  

  • Lihtne kaughaldus: Juurdepääs kõikjalt
  •  

  • Parem turvalisus: Aitab vältida volitamata juurdepääsu

3. SSH-serveri installimine Ubuntusse

SSH kasutamiseks Ubuntus peate installima OpenSSH-serveri. Siin selgitatakse installiprotseduuri ja põhilisi seadistusi.

OpenSSH-serveri installimine

Ubuntus saate OpenSSH-serveri installida järgmise käsuga:

sudo apt update
sudo apt install openssh-server

Pärast installimise lõpetamist kontrollige, kas SSH-teenus töötab.

sudo systemctl status ssh

SSH-teenuse käivitamine ja oleku kontrollimine

SSH-teenuse käsitsi käivitamiseks ja peatamiseks kasutage järgmisi käske:

# Käivita SSH
sudo systemctl start ssh

# Luba SSH (automaatne käivitus pärast taaskäivitust)
sudo systemctl enable ssh

# Peata SSH
sudo systemctl stop ssh

UFW (Uncomplicated Firewall) seadistamine

Vaikimisi võib UFW blokeerida SSH-ühendused, kui see on lubatud. Lubage SSH-port (22) järgmise käsuga:

sudo ufw allow ssh
sudo ufw enable

4. SSH-ühenduse seadistamine

SSH turvaliseks kasutamiseks on vaja teha õiged seadistused. See peatükk selgitab avaliku võtme autentimise seadistamist.

Võtmepaari genereerimine

Kliendi poolel käivitage järgmine käsk, et luua avaliku ja privaatvõtme paar:

ssh-keygen -t rsa -b 4096

Vaikimisi salvestatakse privaatvõti kausta ~/.ssh/id_rsa ja avalik võti kausta ~/.ssh/id_rsa.pub.

Avaliku võtme paigutamine serverisse

Kopeerige loodud avalik võti SSH-serverisse:

ssh-copy-id kasutajanimi@serveri_IP_aadress

Või käsitsi kopeerides:

scp ~/.ssh/id_rsa.pub kasutajanimi@serveri_IP_aadress:~/

Serveri poolel käivitage järgmised käsud, et paigutada avalik võti õigesse kausta:

mkdir -p ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub

sshd_config faili muutmine

Avage SSH seadistusfail ja parandage turvalisust.

sudo nano /etc/ssh/sshd_config

Kontrollige ja muutke järgmisi sätteid:

# Keela parooliga autentimine (ainult avaliku võtme autentimine)
PasswordAuthentication no

# Keela Root-sisselogimine
PermitRootLogin no

# Muuda kasutatavat porti (nt: 2222)
Port 2222

Pärast seadete muutmist taaskäivitage SSH-teenus.

sudo systemctl restart ssh

5. SSH-ühenduse loomine

Pärast SSH-serveri seadistamist Ubuntus peate tegelikult looma ühenduse kliendilt. See peatükk selgitab põhilisi SSH-ühenduse loomise meetodeid ja ühenduse loomist pordi muutmisel.

Põhiline SSH-ühenduse käsk

Serveriga ühendamiseks SSH-kliendist kasutage järgmist käsku:

ssh kasutajanimi@serveri_IP_aadress

Näiteks, kui serveri IP-aadress on 192.168.1.10 ja kasutajanimi ubuntu, sisestage järgmiselt:

ssh ubuntu@192.168.1.10

Esimesel ühendusel kuvatakse serveri sõrmejälg, nii et ühenduse kinnitamiseks sisestage “yes”.

Ühendamine pordi numbri muutmisel

Kui olete vaikimisi 22. pordi asemel muutnud pordi näiteks “2222”-ks, määrake see -p valikuga järgmiselt:

ssh -p 2222 ubuntu@192.168.1.10

Ühendamine privaatvõtmega

Kui olete seadistanud avaliku võtme autentimise, saate privaatvõtme määrata -i valiku abil järgmiselt:

ssh -i ~/.ssh/id_rsa ubuntu@192.168.1.10

Kaugkäskude käivitamine SSH kaudu

Võimalik on käivitada käske otse, sisse logimata kaugserverisse.

ssh ubuntu@192.168.1.10 "ls -lah /home/ubuntu"

See meetod võimaldab tõhusalt automatiseerida skripte ja kaugjuhtimist.

Failiedastus SCP abil

SSH abil saate faile kohaliku arvuti ja kaugserveri vahel edastada.

Kohalik → Kaug

scp failinimi kasutajanimi@serveri_IP_aadress:kaugkataloog

Näide:

scp myfile.txt ubuntu@192.168.1.10:/home/ubuntu/

Kaug → Kohalik

scp kasutajanimi@serveri_IP_aadress:kaugfailinimi kohalik_kataloog

Näide:

scp ubuntu@192.168.1.10:/home/ubuntu/myfile.txt ./

Failihaldus SFTP abil

Faile saab hallata ka SFTP abil.

sftp ubuntu@192.168.1.10

Pärast ühendamist saate kasutada järgmisi käske:

ls         # failide loend
cd         # kataloogi muutmine
put failinimi   # kohalikust serverisse üleslaadimine
get failinimi   # serverist kohalikku alla laadimine
exit       # ühenduse lõpetamine

6. SSH-ühenduse veaotsing

SSH-ühendusega seotud probleemid ei ole haruldased. Siin selgitatakse levinumaid probleeme ja nende lahendusi.

SSH-ühenduse vea tavalised põhjused ja lahendused

SSH-ühenduse ebaõnnestumisel võivad olla mitmed põhjused.

1. SSH-server ei tööta

Kontrollige, kas SSH-server töötab korralikult.

sudo systemctl status ssh

Lahendus:

     

  • Kui SSH-server on peatatud, käivitage see järgmise käsuga:
  sudo systemctl start ssh
     

  • Serveri taaskäivitamisel SSH automaatseks käivitamiseks käivitage järgmine käsk:
  sudo systemctl enable ssh

2. Tulemüür (UFW) blokeerib SSH-ühenduse

Kui UFW (Uncomplicated Firewall) on lubatud, võib SSH olla blokeeritud.

Lahendus:

     

  • Kontrollige praegust UFW seadistust.
  sudo ufw status
     

  • Luba SSH.
  sudo ufw allow ssh

(Kui olete porti muutnud, käivitage sudo ufw allow )

     

  • Taaskäivita UFW.
  sudo ufw reload

3. Pordi number on muutunud

Kui kasutate vaikimisi pordi 22 asemel kohandatud porti, peate ühendamisel määrama õige pordi.

Lahendus:

     

  • Kontrollige serveris kasutatavat porti.
  sudo grep Port /etc/ssh/sshd_config
     

  • Ühendage kliendi poolelt, määrates õige pordi.
  ssh -p 2222 kasutajanimi@serveri_IP_aadress

4. SSH-võtme õigused on valed

Kui kasutate avaliku võtme autentimist, ei saa te ühendust luua, kui võtmefailide õigused on valed.

Lahendus:

     

  • Määrake privaatvõtmele õiged õigused.
  chmod 600 ~/.ssh/id_rsa
     

  • Määrake avaliku võtmele õiged õigused.
  chmod 644 ~/.ssh/authorized_keys

5. Hostivõtme mittevastavus

Kui serveri SSH hostivõti on muutunud, võib kliendi poolel tekkida viga “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”.

Lahendus:

     

  • Kustuta vana hostivõti.
  ssh-keygen -R 
     

  • Proovige uuesti SSH-ühendust luua.
  ssh kasutajanimi@serveri_IP_aadress

6. SSH-logide kontrollimine

SSH üksikasjalike veateadete nägemiseks kontrollige serveri logisid.

sudo journalctl -u ssh --no-pager | tail -n 20

Reaalajas logide nägemiseks käivitage järgmine käsk:

sudo tail -f /var/log/auth.log

7. Ühenduse aegumine

Kui SSH-ühendus on aeglane või katkeb pooleli, kontrollige järgmisi punkte:

Lahendus:

     

  • Luba KeepAlive
    Lisage kliendi ~/.ssh/config faili järgmine:
  Host *
      ServerAliveInterval 60
     

  • Reguleerige serveri poolel aegumise sätteid
    Lisage /etc/ssh/sshd_config faili järgmine ja taaskäivitage SSH-teenus:
  ClientAliveInterval 60
  ClientAliveCountMax 3
  sudo systemctl restart ssh

Kokkuvõte

SSH-ühenduse probleemid võivad tekkida mitmel põhjusel, kuid enamasti on need lahendatavad järgmiste kontrollpunktide abil:

Kontrollige, kas SSH-teenus töötab
Kontrollige, et tulemüür ei blokeeri
Kontrollige, kas pordi seaded on õiged
Kontrollige, kas SSH-võtme õigused on õiged
Kontrollige logidest veateateid

7. SSH turvalisuse suurendamine

SSH on võimas kaugligipääsu tööriist, kuid ilma piisavate turvameetmeteta võib see langeda volitamata juurdepääsu ja toore jõu rünnakute ohvriks. See peatükk käsitleb soovitatavaid seadistusi SSH turvalisuse suurendamiseks.

1. Parooliga autentimise keelamine ja avaliku võtme autentimise soovitus

Vaikimisi lubab SSH parooliga autentimist, kuid see suurendab toore jõu rünnakute riski. Avaliku võtme autentimise lubamine ja parooliga autentimise keelamine suurendab SSH turvalisust.

Juhised

     

  1. Muutke sshd_config faili
   sudo nano /etc/ssh/sshd_config
     

  1. Muutke (või lisage) järgmised seaded
   PasswordAuthentication no
   PubkeyAuthentication yes
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

See seadistus lubab SSH-l vastu võtta ainult avaliku võtme autentimist. Enne selle rakendamist veenduge, et avaliku võtme seadistus on lõpule viidud.

2. Muuda SSH pordi numbrit

SSH vaikepordi (22) kasutamine jätab selle ründajate sihtmärgiks. Turvalisuse suurendamiseks on soovitatav pordi number muuta.

Juhised

     

  1. Avage sshd_config fail
   sudo nano /etc/ssh/sshd_config
     

  1. Muutke järgmiselt (nt: muuda 2222-ks)
   Port 2222
     

  1. Luba uus port tulemüüris
   sudo ufw allow 2222/tcp
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh
     

  1. Testi ühendust uue pordiga
   ssh -p 2222 kasutajanimi@serveri_IP_aadress

3. Keela Root-kasutaja SSH-sisselogimine

Vaikimisi on root-kasutajal lubatud SSH kaudu sisse logida, kuid see on turvarisk. Soovitatav on lubada SSH-le juurdepääs ainult tavakasutajatele ja kasutada vajadusel sudo.

Juhised

     

  1. Avage sshd_config fail
   sudo nano /etc/ssh/sshd_config
     

  1. Muutke järgmist rida
   PermitRootLogin no
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

4. Fail2Bani juurutamine toore jõu rünnakute vältimiseks

Fail2Ban on tööriist, mis tuvastab volitamata sisselogimiskatsed ja blokeerib automaatselt IP-aadressid pärast teatud arvu ebaõnnestumisi.

Installimine ja seadistamine

     

  1. Installige Fail2Ban
   sudo apt install fail2ban -y
     

  1. Kopeeri seadistusfail
   sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
     

  1. Muutke jail.local faili
   sudo nano /etc/fail2ban/jail.local
     

  1. Muutke jaotist [sshd]
   [sshd]
   enabled = true
   maxretry = 5
   bantime = 600
   findtime = 600
     

  • maxretry: Lubatud ebaõnnestunud sisselogimiskatsete arv
  •  

  • bantime: Blokeerimise kestus (sekundites)
  •  

  • findtime: Ebaõnnestumiste loendamise periood (sekundites)
     

  1. Taaskäivita Fail2Ban
   sudo systemctl restart fail2ban
     

  1. Kontrollige praegust Fail2Bani olekut
   sudo fail2ban-client status sshd

Kokkuvõte

SSH turvalisuse suurendamiseks rakendage järgmisi meetmeid:

Keela parooliga autentimine ja kasuta avaliku võtme autentimist
Muuda SSH pordi numbrit, et vähendada rünnakuriski
Keela Root-sisselogimine ja luba juurdepääs ainult teatud kasutajatele
Juuruta Fail2Ban toore jõu rünnakute vältimiseks

8. Korduma kippuvad küsimused (KKK)

See jaotis käsitleb üksikasjalikult korduma kippuvaid küsimusi ja probleeme SSH seadistamisel ja haldamisel.

K1: Mis on “Ühendus keelatud” teate põhjus SSH-ga ühendamisel?

SSH-serveriga ühenduse keelamisele võib olla mitu põhjust.

Peamised põhjused ja lahendused

     

  1. SSH-teenus ei tööta
   sudo systemctl status ssh

Lahendus: Kui teenus on peatatud, käivitage see.

   sudo systemctl start ssh
     

  1. Tulemüür (UFW) blokeerib
   sudo ufw allow ssh
   sudo ufw enable
     

  1. Pordi numbri muutmine
    Kui SSH pordi number on muudetud vaikest (22) erinevaks, määrake õige port.
   ssh -p 2222 kasutajanimi@serveri_IP_aadress

K2: Kuidas muuta SSH vaikepordi numbrit?

Vaikimisi port 22 on rünnakutele altim, seega selle muutmine parandab turvalisust.

Juhised

     

  1. Muutke seadistusfaili
   sudo nano /etc/ssh/sshd_config
     

  1. Muutke Port väärtust (nt: 2222)
   Port 2222
     

  1. Luba uus port tulemüüris
   sudo ufw allow 2222/tcp
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

Pärast muutmist proovige ühendada uue pordiga.

ssh -p 2222 kasutajanimi@serveri_IP_aadress

K3: Mida kontrollida, kui avaliku võtme autentimine ei tööta?

Kui SSH avaliku võtme autentimine ei tööta, kontrollige järgmist:

     

  1. Kas avalik võti on õigesti paigutatud?
   ls -l ~/.ssh/authorized_keys

Kontrollige, kas authorized_keys eksisteerib ja sisaldab õiget võtit.

     

  1. Kas faili õigused on õiged?
   chmod 600 ~/.ssh/authorized_keys
   chmod 700 ~/.ssh
     

  1. Kas SSH-serveri seadistus lubab avaliku võtme autentimist?
   sudo nano /etc/ssh/sshd_config

Kontrollige järgmisi seadeid:

   PubkeyAuthentication yes
   PasswordAuthentication no
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

K4: Kuidas lubada SSH-ühendus ainult teatud IP-aadressilt?

SSH-ühenduse lubamine ainult teatud IP-aadressilt parandab turvalisust.

1. meetod: sshd_config muutmine

     

  1. Avage seadistusfail
   sudo nano /etc/ssh/sshd_config
     

  1. Lisage lubatud IP-aadress AllowUsers reale
   AllowUsers kasutajanimi@192.168.1.100
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

2. meetod: Tulemüüri (UFW) seadistamine

     

  1. Määrake SSH-ühenduse lubamiseks IP-aadress
   sudo ufw allow from 192.168.1.100 to any port 22
     

  1. Blokeeri kõik muud SSH-ühendused
   sudo ufw deny 22

K5: Kuidas muuta SSH-ühenduse aegumise aega?

Kui SSH-sessioon katkeb teatud aja möödudes, saate selle lahendada seadete muutmisega.

Kliendi poolel seadistamine

     

  1. Lisage ~/.ssh/config faili järgmine:
   Host *
       ServerAliveInterval 60

Serveri poolel seadistamine

     

  1. Muutke sshd_config faili
   sudo nano /etc/ssh/sshd_config
     

  1. Lisage/muutke järgmist:
   ClientAliveInterval 60
   ClientAliveCountMax 3
     

  1. Taaskäivita SSH-teenus
   sudo systemctl restart ssh

Kokkuvõte

See peatükk tutvustas korduma kippuvaid küsimusi SSH kohta ja nende lahendusi. Probleemide tekkimisel on oluline tuvastada põhjus logide abil.

SSH-ühenduse keelamise lahendused
Vaikepordi muutmine ja õige ühendamismeetod
Kontrollnimekiri, kui avaliku võtme autentimine ei tööta
Kuidas lubada SSH-ühendus ainult teatud IP-aadressilt
SSH-i aegumise vältimise seaded

9. Kokkuvõte

See artikkel selgitas üksikasjalikult SSH seadistamist ja kasutamist Ubuntus, alates põhimõtetest kuni edasijõudnud tasemeni. Siin vaatame üle olulised punktid ja tutvustame lisamaterjale edasiseks õppimiseks.

Artikli põhipunktide kokkuvõte

1. SSH alused ja toimimine

     

  • SSH on protokoll turvalise kaugühenduse loomiseks.
  •  

  • Andmed on krüpteeritud, mis teeb selle turvalisemaks kui Telnet või FTP.
  •  

  • Autentimismeetodite hulka kuuluvad parooliga autentimine ja avaliku võtme autentimine.

2. SSH-serveri installimine Ubuntusse

     

  • Installige OpenSSH käsuga sudo apt install openssh-server.
  •  

  • Kontrollige teenuse olekut käsuga systemctl status ssh.
  •  

  • Lubage juurdepääs UFW-s (tulemüür) käivitades sudo ufw allow ssh.

3. SSH-ühenduse seadistamine

     

  • Kaugühendus käsuga ssh kasutajanimi@serveri_IP_aadress.
  •  

  • Avaliku võtme autentimine parandab turvalisust.
  •  

  • Parooliga autentimist saab keelata sshd_config seadistuses.

4. SSH veaotsing

     

  • Kontrollige, kas teenus töötab (systemctl status ssh).
  •  

  • Pordi numbri muutmisel ühendage käsuga ssh -p 2222 kasutajanimi@IP.
  •  

  • Reguleerige õigusi ~/.ssh/authorized_keys failile.

5. SSH turvalisuse suurendamine

     

  • Keela parooliga autentimine ja kasuta avaliku võtme autentimist.
  •  

  • Muuda SSH pordi numbrit (nt: 2222).
  •  

  • Juuruta Fail2Ban toore jõu rünnakute vältimiseks.
  •  

  • Luba juurdepääs ainult teatud IP-aadressidelt, et piirata volitamata juurdepääsu.

6. KKK-s lahendatud peamised küsimused

     

  • “SSH-ühendus keelatud” → Kontrollige serveri käivitamisolekut ja UFW seadeid.
  •  

  • “Avaliku võtme autentimine ei tööta” → Kontrollige võtme õigusi ja sshd_config faili.
  •  

  • “SSH aegumise vältimine” → Muutke ClientAliveInterval seadet.

Lisamaterjalid edasiseks õppimiseks

SSH seadistamise sügavamaks mõistmiseks kasutage järgmisi materjale.

📚 Ametlik dokumentatsioon

🛠 Seotud tööriistad

🎥 Soovitatud videod

     

  • YouTube’is otsides “Ubuntu SSH seadistamine” leiate palju algajatele mõeldud selgitavaid videoid.

作成した動画を友だち、家族、世界中の人たちと共有…

Järgmised sammud

Pärast käesoleva artikli lugemist ja SSH põhitõdede mõistmist on soovitatav omandada järgmised edasijõudnud oskused:

SSH automatiseeritud haldamine Ansible’i abil

     

  • Kui teil on mitu serverit, saate SSH-d kasutades Ansible’i abil kaughalduse automatiseerida.

SSH tunneldamine ja pordi edastamine

     

  • SSH-d saab kasutada turvalise kaug-töölauaga ühenduse loomiseks või nagu VPN-i.

SSH logide jälgimine ja turvalisuse suurendamine

     

  • Õppige reaalajas volitamata juurdepääsu jälgima, kasutades fail2ban ja logwatch.

Kokkuvõte

Täname, et lugesite selle artikli lõpuni! 🎉
SSH õige seadistamine Ubuntus võib oluliselt parandada kaughalduse tõhusust ja turvalisust.

Kasutage seda tulevaste õpingute jaoks sügavamate teemade, näiteks “kasulikud SSH rakendustehnikad” ja “serveri turvalisuse edasine suurendamine” kohta!

Soovime teile meeldivat SSH-elu! 🖥️🔐

年収訴求