- 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.
Vaikimisi on Ubuntu installatsioonil SSH server keelatud, mistõttu tuleb SSH kasutamiseks see käsitsi paigaldada ja seadistada.
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-server
See 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 ssh
enable
teeb SSH teenuse automaatselt aktiivseks iga OS-i alglaadimise korral.
2.1.4 SSH töö kontrollimine
Kontrollige SSH serveri tööseisundit:
systemctl status ssh
Kui 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 ago
Kui kuvatakse inactive (dead)
või failed
, käivitage SSH käsitsi:
sudo systemctl start ssh
2.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 status
Näide, kui UFW on keelatud:
Status: inactive
Näide, kui UFW on aktiivne:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
2.2.2 SSH liikluse lubamine
SSH vaikimisi porti (22) lubamiseks:
sudo ufw allow ssh
Või selgelt porti määrates:
sudo ufw allow 22/tcp
2.2.3 UFW lubamine
Kui UFW on keelatud, lülitage see sisse:
sudo ufw enable
Enne 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 verbose
Nä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-IP
Näide:
ssh user@192.168.1.100
Esimesel ü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-IP
Kui kasutate PuTTY-t:
- Laadige alla ametlikult veebilehelt PuTTY ja installige see.
- Avage PuTTY, sisestage
Host Name (or IP address)
lahtrisse serveri IP. - Valige
Connection type
väärtuseksSSH
ja 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_config
Kui 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_rsa
Tulemuseks 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-IP
3.2.3 Parooliautentimise keelamine
Muuda SSH seadistusfailis:
sudo nano /etc/ssh/sshd_config
Leia rida ja muuda see:
PasswordAuthentication no
Salvesta ja taaskäivita SSH:
sudo systemctl restart ssh
3.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 ssh
3.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 ssh
3.4.2 Tulemüüri seadistamine uuele pordile
Luba uus port UFW-s:
sudo ufw allow 2200/tcp
Kontrolli olekut:
sudo ufw status
3.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 -y
3.5.2 Seadistamine
Kopeeri ja muuda Fail2Bani seadistus:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Muuda näiteks:
[sshd]
enabled = true
port = 2200
maxretry = 3
findtime = 600
bantime = 3600
3.5.3 Fail2Ban taaskäivitamine
sudo systemctl restart fail2ban
3.5.4 Bannitud IP-de kontrollimine
sudo fail2ban-client status sshd
Kokkuvõ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
Nende sammude rakendamisel saate palju turvalisema SSH keskkonna.

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 alates ssh.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 hallata ssh.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, kas ssh.socket
on aktiivne:
sudo systemctl status ssh.socket
Nä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 UTC
4.1.2 ssh.socket lubamine või keelamine
Kui ssh.socket
pole aktiivne, aktiveeri see:
sudo systemctl enable --now ssh.socket
Kui soovid kasutada traditsioonilist ssh.service
, siis:
sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
4.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-IP
4.2.2 Pöördport forwarding
Lokaalse teenuse avalikustamine kaugserveri kaudu:
ssh -R 8080:localhost:80 kasutaja@serveri-IP
4.2.3 Dünaamiline port forwarding (SOCKS proxy)
SSH-d saab kasutada SOCKS proxyna anonüümseks internetikasutuseks:
ssh -D 1080 kasutaja@serveri-IP
4.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/tcp
4.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.allow
sshd: 192.168.1.100
4.4.2 /etc/hosts.deny
seadistamine
Keela kõik muu:
sudo nano /etc/hosts.deny
sshd: ALL
Nii 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
Nende meetmetega saab SSH-d kasutada turvalisemalt ja paindlikumalt.
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äiteks Connection 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 ssh
Lahendus:
- Kui
inactive (dead)
võifailed
, taaskäivita SSH:
sudo systemctl restart ssh
- Vajadusel luba automaatne käivitamine:
sudo systemctl enable ssh
5.1.2 Port pole avatud või on muudetud
Kui porti on muudetud, lisa ühenduskäsku -p
:
ssh -p 2200 kasutaja@serveri-IP
Kontrolli avatud porte:
sudo netstat -tulnp | grep ssh
või:
ss -tulnp | grep ssh
5.1.3 UFW tulemüüri kontroll
Kontrolli UFW olekut:
sudo ufw status
Lahendus, kui SSH pole lubatud:
sudo ufw allow 22/tcp
Kui kasutad muud porti, asenda port vastavalt:
sudo ufw allow 2200/tcp
5.2 Autentimisvead
5.2.1 Kasutajanimi või parool vale
Kontrolli, et kasutad õiget kasutajanime:
ssh kasutaja@serveri-IP
5.2.2 Avalik võti pole õigesti seadistatud
Kontrolli, et ~/.ssh/authorized_keys
failis on sinu avalik võti:
cat ~/.ssh/authorized_keys
5.2.3 Õiged failide õigused
SSH nõuab rangeid õiguseid:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Samuti /home/kasutaja
kataloogi õigused:
chmod 755 /home/kasutaja
5.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 3
Taaskäivita SSH:
sudo systemctl restart ssh
5.3.2 Kliendipoolsed seaded
Lisa lokaalsesse ~/.ssh/config
faili:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
5.4 SSH logide kontrollimine
Tõrkeotsingu jaoks vaata logisid.
5.4.1 Reaalajas logid
sudo journalctl -u ssh -f
5.4.2 Vanemad logid
sudo cat /var/log/auth.log | grep ssh
Või otsi kindlat veateadet:
sudo grep "Failed password" /var/log/auth.log
Kokkuvõ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?
Enamiku SSH probleemidest saab lahendada õigete seadistuste ja logianalüüsiga.
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 3
Taaskäivita SSH:
sudo systemctl restart ssh
6.1.2 Kliendipoolne seadistus
Lisa ~/.ssh/config
faili:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
6.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-IP
6.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-server
6.4.2 Seadistamine
Muuda /etc/ssh/sshd_config
:
PasswordAuthentication yes
Käivita SSH käsitsi (systemd puudub):
sudo service ssh start
6.5 Millised on olulised täiendavad turvameetmed peale SSH seadistust?
6.5.1 Fail2Ban kasutamine
Paigalda Fail2Ban:
sudo apt install fail2ban -y
Muuda /etc/fail2ban/jail.local
:
[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600
Taaskäivita Fail2Ban:
sudo systemctl restart fail2ban
6.5.2 SSH porti muutmine
Muuda /etc/ssh/sshd_config
:
Port 2200
Taaskäivita SSH ja luba uus port UFW-s:
sudo ufw allow 2200/tcp
6.6 Kuidas jälgida SSH logisid reaalajas?
sudo journalctl -u ssh -f
Või vanemate logide jaoks:
sudo cat /var/log/auth.log | grep ssh
6.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_rsa
Nüüd saad ühendada lihtsalt:
ssh minuserver
6.7.2 ssh-agent kasutamine
Et mitte iga kord võtme parooli sisestada:
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
Kokkuvõ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
Kui rakendad siinsed soovitused, saad turvalise ja efektiivse SSH halduskeskkonna!
Seotud artiklid
1. Sissejuhatus SSH kasutamine Ubuntus võimaldab turvaliselt kaugelt serveritele ja arvutitele ligi pääseda ja neid hal[…]