目次
- 1 1. Sissejuhatus
- 2 2. SSH põhiline seadistamine
- 3 Kokkuvõte
- 4 3. SSH turvalisuse tugevdamine
- 5 Kokkuvõte
- 6 4. SSH täiustatud seadistused
- 7 Kokkuvõte
- 8 5. SSH tõrkeotsing
- 9 Kokkuvõte
- 10 6. KKK (Korduma kippuvad küsimused)
- 10.1 6.1 Mida teha, kui SSH ühendus aegub?
- 10.2 6.2 Mida teha, kui unustan SSH parooli?
- 10.3 6.3 Kuidas kasutada SSH-d Windowsis?
- 10.4 6.4 Kuidas seadistada SSH Ubuntu WSL (Windows Subsystem for Linux) keskkonnas?
- 10.5 6.5 Millised on olulised täiendavad turvameetmed peale SSH seadistust?
- 10.6 6.6 Kuidas jälgida SSH logisid reaalajas?
- 10.7 6.7 Kuidas muuta SSH kasutamist mugavamaks?
- 11 Kokkuvõte
- 12 Seotud artiklid
1. Sissejuhatus
Ubuntu puhul SSH seadistamine on äärmiselt oluline kaugserveri haldamiseks. SSH (Secure Shell) on protokoll, mis pakub turvalist krüpteeritud suhtlust ja võimaldab laialdaselt ligi pääseda serveritele, käivitada käske ja edastada faile kaugelt. Selles artiklis selgitatakse põhjalikult, kuidas Ubuntu süsteemis SSH-d seadistada – alates põhiinstallatsioonist kuni arenenud turvameetmeteni.1.1 Miks seadistada SSH Ubuntu peal?
1.1.1 Mis on SSH?
SSH (Secure Shell) on protokoll turvaliseks andmesideks võrgus. Tavaliselt kasutatakse SSH-d kaugserverisse sisselogimiseks, failide ülekandmiseks ja tunneldamiseks (port forwarding). Erinevalt traditsioonilistest Telnetist ja FTP-st on SSH andmeedastus alati krüpteeritud ning seega palju turvalisem.1.1.2 Millal vajate Ubuntu peal SSH-d?
Ubuntu kaugjuhtimise peamised stsenaariumid on järgmised:- Pilveserverite haldus: AWS, GCP, Vultr ja teised pilveteenused – ühendus serveriga toimub SSH kaudu.
- LAN-võrgus kaugjuhtimine: Ettevõtte sisemised serverid või arendusmasinad – SSH-ga saab teha tööd eemalt.
- IoT-seadmete haldamine: Raspberry Pi jt manusseadmed – kaugjuhtimine SSH abil.
2. SSH põhiline seadistamine
Ubuntu puhul tuleb SSH-server (OpenSSH) paigaldada ja õigesti seadistada. Selles osas kirjeldame samm-sammult SSH paigaldust, põhiseadistusi, tulemüüri (UFW) konfigureerimist ning ühenduse loomist.2.1 OpenSSH paigaldamine ja käivitamine
2.1.1 Mis on OpenSSH?
OpenSSH (Open Secure Shell) on avatud lähtekoodiga tarkvara, mis rakendab SSH protokolli. Lisaks kaugühendusele toetab see turvalist failiedastust (SCP, SFTP) ja portide edastamist.2.1.2 OpenSSH paigaldamine
Ubuntul ei ole SSH server vaikimisi paigaldatud. Installige OpenSSH järgmise käsuga:sudo apt update && sudo apt install -y openssh-serverSee käsk uuendab paketiloendi ja paigaldab OpenSSH serveri.2.1.3 SSH serveri käivitamine ja automaatne käivitamine
Paigalduse järel käivitage SSH server ning seadistage automaatne käivitamine:sudo systemctl enable --now sshenable teeb SSH teenuse automaatselt aktiivseks iga OS-i alglaadimise korral.2.1.4 SSH töö kontrollimine
Kontrollige SSH serveri tööseisundit:systemctl status sshKui näete näiteks järgmist tulemust, töötab SSH korrektselt:● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-02-28 12:00:00 UTC; 5min agoKui kuvatakse inactive (dead) või failed, käivitage SSH käsitsi:sudo systemctl start ssh2.2 Tulemüüri (UFW) seadistamine
Ubuntu sisaldab lihtsat tulemüüri UFW-d (Uncomplicated Firewall). SSH-ühenduste lubamiseks seadistage UFW järgmiselt.2.2.1 UFW oleku kontroll
Vaadake, kas tulemüür on aktiivne:sudo ufw statusNäide, kui UFW on keelatud:Status: inactiveNäide, kui UFW on aktiivne:Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere2.2.2 SSH liikluse lubamine
SSH vaikimisi porti (22) lubamiseks:sudo ufw allow sshVõi selgelt porti määrates:sudo ufw allow 22/tcp2.2.3 UFW lubamine
Kui UFW on keelatud, lülitage see sisse:sudo ufw enableEnne lubamist veenduge, et SSH port on avatud, muidu võite end lukustada.2.2.4 Seadistuste kontroll
Kontrollige, kas SSH liiklus on tõesti lubatud:sudo ufw status verboseNäide:Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)Kui see kuvatakse, on SSH ühendus lubatud.2.3 SSH-ga ühenduse loomine
Kui server töötab, proovige ühendust luua kliendist.2.3.1 Linux/macOS-ilt ühendamine
Avage terminal ja kasutage:ssh kasutajanimi@serveri-IPNäide:ssh user@192.168.1.100Esimesel ühendusel võib kuvada hoiatus:The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?Sisestage yes ja vajutage Enter.2.3.2 Windowsist ühendamine
Windowsis saab kasutada PowerShelli või PuTTY-t. Kui kasutate PowerShelli: Windows 10 ja uuemad toetavad SSH-d sisseehitatud kliendiga:ssh kasutajanimi@serveri-IPKui kasutate PuTTY-t:- Laadige alla ametlikult veebilehelt PuTTY ja installige see.
- Avage PuTTY, sisestage
Host Name (or IP address)lahtrisse serveri IP. - Valige
Connection typeväärtuseksSSHja vajutageOpen. - Sisestage kasutajanimi ja parool.
Kokkuvõte
Selles osas käsitlesime Ubuntu puhul SSH põhilist seadistust:- Kuidas paigaldada ja käivitada OpenSSH serverit
- Kuidas lubada SSH ühendused UFW tulemüüri kaudu
- Kuidas ühendada SSH-ga Linux/macOS-ilt ja Windowsist
3. SSH turvalisuse tugevdamine
SSH võimaldab mugavat kaugjuhtimist, kuid vaikeseadetes võib olla turvariske. Ründajad võivad proovida toore jõu (brute-force) rünnakuid või skaneerida avatud porte. Seepärast on oluline kasutada tugevaid turvaseadeid.3.1 Root kasutaja sisselogimise keelamine
Vaikimisi võib Ubuntu SSH lubada root kasutajaga sisselogimist. Kuna rootil on täielikud süsteemiõigused, on ta ründajate peamine sihtmärk. Turvalisuse tõstmiseks keelake rooti SSH kaudu.3.1.1 Seadistamise sammud
- Redigeerige SSH seadistusfaili
/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config- Otsige rida ja muutke see järgmiseks:
PermitRootLogin no- Salvestage ja taaskäivitage SSH teenus:
sudo systemctl restart ssh- Kontrollige, kas muudatus kehtib:
sudo grep PermitRootLogin /etc/ssh/sshd_configKui väljund on PermitRootLogin no, on seadistus rakendatud.3.2 Parooliga autentimise keelamine ja avaliku võtmega autentimine
SSH puhul on turvalisem kasutada võtmega autentimist, mitte paroole. See vähendab jõurünnakute riski.3.2.1 SSH võtme loomine
Loo kohalikus arvutis SSH võti:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsaTulemuseks on kaks faili:- Privaatvõti (
id_rsa) – hoia ainult enda masinas, ära jaga! - Avalik võti (
id_rsa.pub) – lisa see serverile.
3.2.2 Avaliku võtme kopeerimine serverisse
Kopeeri avalik võti serverisse:ssh-copy-id kasutajanimi@serveri-IP3.2.3 Parooliautentimise keelamine
Muuda SSH seadistusfailis:sudo nano /etc/ssh/sshd_configLeia rida ja muuda see:PasswordAuthentication noSalvesta ja taaskäivita SSH:sudo systemctl restart ssh3.3 Ainult kindlate kasutajate SSH ligipääs
Turvalisuse huvides võid piirata, millised kasutajad tohivad SSH kaudu ühenduda.3.3.1 Seadistamise sammud
- Redigeeri
/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config- Lisa lubatud kasutajate nimed:
AllowUsers kasutaja1 kasutaja2- Taaskäivita SSH teenus:
sudo systemctl restart ssh3.4 SSH porti muutmine
Vaikeport 22 on ründajate sihtmärk. Muuda seda kõrgema turvalisuse jaoks.3.4.1 Kuidas muuta porti
- Ava
/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config- Leia ja muuda port näiteks
Port 2200
Port 2200- Taaskäivita SSH:
sudo systemctl restart ssh3.4.2 Tulemüüri seadistamine uuele pordile
Luba uus port UFW-s:sudo ufw allow 2200/tcpKontrolli olekut:sudo ufw status3.5 Fail2Ban kaitseks jõurünnakute vastu
Fail2Ban blokeerib IP-aadresse, mis teevad mitu nurjunud sisselogimiskatset.3.5.1 Fail2Ban paigaldamine
sudo apt install fail2ban -y3.5.2 Seadistamine
Kopeeri ja muuda Fail2Bani seadistus:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.localMuuda näiteks:[sshd]
enabled = true
port = 2200
maxretry = 3
findtime = 600
bantime = 36003.5.3 Fail2Ban taaskäivitamine
sudo systemctl restart fail2ban3.5.4 Bannitud IP-de kontrollimine
sudo fail2ban-client status sshdKokkuvõte
Selles osas selgitasime SSH turvalisuse tugevdamise peamisi meetmeid:- Root kasutaja keelamine
- Parooliautentimise asemel võtmeautentimise kasutamine
- Kasutajate piiramine
- SSH porti muutmine
- Fail2Ban paigaldamine ja seadistamine

4. SSH täiustatud seadistused
Kui põhilised seadistused ja turvameetmed on tehtud, saab SSH-d veelgi võimsamaks ja paindlikumaks muuta edasijõudnud seadistustega. Selles osas kirjeldame Ubuntu 22.10-st alatesssh.socket haldust, SSH tunnelite (port forwarding) loomist, mitmel pordil kuulamist ja ligipääsu piiramist ainult kindlatele IP-aadressidele.4.1 Ubuntu 22.10 ja uuemates – ssh.socket kasutamine
Alates Ubuntu 22.10-st võib SSH teenust hallatassh.service asemel ssh.socket. See tähendab, et SSH käivitatakse ainult siis, kui keegi ühendub – see säästab ressursse.4.1.1 ssh.socket staatuse kontroll
Kontrolli, kasssh.socket on aktiivne:sudo systemctl status ssh.socketNäide (aktiivne):● ssh.socket - OpenSSH Server Socket
Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; vendor preset: enabled)
Active: active (listening) since Fri 2025-02-28 12:00:00 UTC4.1.2 ssh.socket lubamine või keelamine
Kuissh.socket pole aktiivne, aktiveeri see:sudo systemctl enable --now ssh.socketKui soovid kasutada traditsioonilist ssh.service, siis:sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service4.2 SSH tunneldamine (port forwarding)
SSH tunnel võimaldab turvaliselt suunata võrguliiklust – näiteks privaatset andmebaasi või veebiserverit ainult lubatud klientidele.4.2.1 Kohalik port forwarding
Turvaline ligipääs näiteks MySQL serverile:ssh -L 3306:localhost:3306 kasutaja@serveri-IP4.2.2 Pöördport forwarding
Lokaalse teenuse avalikustamine kaugserveri kaudu:ssh -R 8080:localhost:80 kasutaja@serveri-IP4.2.3 Dünaamiline port forwarding (SOCKS proxy)
SSH-d saab kasutada SOCKS proxyna anonüümseks internetikasutuseks:ssh -D 1080 kasutaja@serveri-IP4.3 SSH mitmel pordil kuulamine
Vaikimisi kuulab SSH ainult ühel pordil (22), kuid võid seadistada mitmel pordil.4.3.1 Sammud
- Ava
/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config- Lisa järgmised read:
Port 22
Port 2200- Taaskäivita SSH:
sudo systemctl restart ssh- Luba uus port tulemüüri kaudu:
sudo ufw allow 2200/tcp4.4 Ainult kindlate IP-aadresside SSH lubamine
Tugevda turvalisust lubades SSH ainult teatud IP-delt.4.4.1 /etc/hosts.allow seadistamine
Ava fail ja lisa lubatud IP:sudo nano /etc/hosts.allowsshd: 192.168.1.1004.4.2 /etc/hosts.deny seadistamine
Keela kõik muu:sudo nano /etc/hosts.denysshd: ALLNii saavad ühenduda ainult hosts.allow failis määratud IP-d.Kokkuvõte
Selles osas tutvustasime SSH täiustatud seadistusi:- Ubuntu 22.10-st alates ssh.socket haldus
- SSH tunneldamise erinevad viisid
- Mitmel pordil SSH kuulamine
- Ligipääsu piiramine konkreetsetele IP-aadressidele
5. SSH tõrkeotsing
Isegi korrektsel seadistamisel võib SSH-ga esineda ühendusprobleeme. Siin käsitleme sagedasemaid tõrkeid ja nende lahendusi.5.1 Kui SSH ei ühendu
Kui kuvatakse näiteksConnection refused või aegumine, võivad põhjused olla järgmised.5.1.1 SSH teenus ei tööta
Kontrolli SSH staatust:sudo systemctl status sshLahendus:- Kui
inactive (dead)võifailed, taaskäivita SSH:
sudo systemctl restart ssh- Vajadusel luba automaatne käivitamine:
sudo systemctl enable ssh5.1.2 Port pole avatud või on muudetud
Kui porti on muudetud, lisa ühenduskäsku-p:ssh -p 2200 kasutaja@serveri-IPKontrolli avatud porte:sudo netstat -tulnp | grep sshvõi:ss -tulnp | grep ssh5.1.3 UFW tulemüüri kontroll
Kontrolli UFW olekut:sudo ufw statusLahendus, kui SSH pole lubatud:sudo ufw allow 22/tcpKui kasutad muud porti, asenda port vastavalt:sudo ufw allow 2200/tcp5.2 Autentimisvead
5.2.1 Kasutajanimi või parool vale
Kontrolli, et kasutad õiget kasutajanime:ssh kasutaja@serveri-IP5.2.2 Avalik võti pole õigesti seadistatud
Kontrolli, et~/.ssh/authorized_keys failis on sinu avalik võti:cat ~/.ssh/authorized_keys5.2.3 Õiged failide õigused
SSH nõuab rangeid õiguseid:chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysSamuti /home/kasutaja kataloogi õigused:chmod 755 /home/kasutaja5.3 Ebastabiilne või katkestav SSH ühendus
Kui ühendus katkeb regulaarselt, võib abi olla järgmistest seadistustest.5.3.1 Serveripoolsed seaded
Muuda/etc/ssh/sshd_config:ClientAliveInterval 60
ClientAliveCountMax 3Taaskäivita SSH:sudo systemctl restart ssh5.3.2 Kliendipoolsed seaded
Lisa lokaalsesse~/.ssh/config faili:Host *
ServerAliveInterval 60
ServerAliveCountMax 35.4 SSH logide kontrollimine
Tõrkeotsingu jaoks vaata logisid.5.4.1 Reaalajas logid
sudo journalctl -u ssh -f5.4.2 Vanemad logid
sudo cat /var/log/auth.log | grep sshVõi otsi kindlat veateadet:sudo grep "Failed password" /var/log/auth.logKokkuvõte
Selles osas tõime välja SSH sagedasemad probleemid ja nende lahendused:- Kas teenus töötab?
- Kas õige port on avatud?
- Kas tulemüür laseb läbi?
- Kas võtmeautentimine on õigesti seadistatud?
- Kas katkestuste probleemid on lahendatud?
- Kuidas leida infot logidest?
6. KKK (Korduma kippuvad küsimused)
Toome välja SSH seadistamise ja kasutamise tüüpilised küsimused ning nende vastused.6.1 Mida teha, kui SSH ühendus aegub?
Kui ühendus katkeb, kasuta järgmisi seadistusi.6.1.1 Serveripoolne seadistus
Muuda/etc/ssh/sshd_config:ClientAliveInterval 60
ClientAliveCountMax 3Taaskäivita SSH:sudo systemctl restart ssh6.1.2 Kliendipoolne seadistus
Lisa~/.ssh/config faili:Host *
ServerAliveInterval 60
ServerAliveCountMax 36.2 Mida teha, kui unustan SSH parooli?
6.2.1 Kui saad serverisse füüsiliselt ligi
- Käivita server single-user või recovery režiimis
- Muuda parooli:
passwd kasutaja- Taaskäivita süsteem
6.2.2 Kui füüsiline ligipääs puudub (VPS vms)
- Kasuta VPSi konsoolifunktsiooni
- Kasuta SSH võtmeautentimist, kui see oli varem seadistatud
6.3 Kuidas kasutada SSH-d Windowsis?
6.3.1 PowerShelliga
Windows 10 ja uuemates saab kasutada:ssh kasutaja@serveri-IP6.3.2 PuTTY-ga
- Laadi alla ja installi PuTTY
- Sisestage
Host Name (or IP address)lahtrisse serveri IP - Vali
SSHühenduse tüübiks ja vajutaOpen - Sisestage kasutajanimi ja parool
6.4 Kuidas seadistada SSH Ubuntu WSL (Windows Subsystem for Linux) keskkonnas?
WSL-is SSH serveri käivitamiseks:6.4.1 SSH serveri paigaldamine
sudo apt update && sudo apt install openssh-server6.4.2 Seadistamine
Muuda/etc/ssh/sshd_config:PasswordAuthentication yesKäivita SSH käsitsi (systemd puudub):sudo service ssh start6.5 Millised on olulised täiendavad turvameetmed peale SSH seadistust?
6.5.1 Fail2Ban kasutamine
Paigalda Fail2Ban:sudo apt install fail2ban -yMuuda /etc/fail2ban/jail.local:[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600Taaskäivita Fail2Ban:sudo systemctl restart fail2ban6.5.2 SSH porti muutmine
Muuda/etc/ssh/sshd_config:Port 2200Taaskäivita SSH ja luba uus port UFW-s:sudo ufw allow 2200/tcp6.6 Kuidas jälgida SSH logisid reaalajas?
sudo journalctl -u ssh -fVõi vanemate logide jaoks:sudo cat /var/log/auth.log | grep ssh6.7 Kuidas muuta SSH kasutamist mugavamaks?
6.7.1 .ssh/config lihtsustab ühendusi
Kui ühendud sageli samade serveritega, lisa ~/.ssh/config fail:Host minuserver
HostName 192.168.1.100
User kasutaja
Port 2200
IdentityFile ~/.ssh/id_rsaNüüd saad ühendada lihtsalt:ssh minuserver6.7.2 ssh-agent kasutamine
Et mitte iga kord võtme parooli sisestada:eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsaKokkuvõte
Selles jaotises tõime välja SSH korduma kippuvad küsimused ja lahendused:- SSH katkestuste lahendused
- Parooli taastamine
- SSH kasutamine Windowsis ja WSL-is
- Olulised turvameetmed
- Kuidas jälgida logisid
- Mugavuste ja lihtsustamise nipid
Seotud artiklid
Seotud
1. Sissejuhatus SSH kasutamine Ubuntus võimaldab turvaliselt kaugelt serveritele ja arvutitele ligi pääseda ja neid hal[…]




