Konfigurirajte SSH v Ubuntu

Tehnologija SSH (Secure Shell) omogoča varno daljinsko upravljanje računalnika prek varne povezave. SSH šifrira vse prenesene datoteke, vključno z gesli, in posreduje tudi kateri koli omrežni protokol. Da bi orodje delovalo pravilno, ga je treba namestiti ne le, ampak tudi konfigurirati. Radi bi govorili o izdelku glavne konfiguracije v tem članku, pri čemer smo vzeli za primer najnovejšo različico operacijskega sistema Ubuntu, na katerem bo lociran strežnik.

Konfigurirajte SSH v Ubuntu

Če niste dokončali namestitve na strežniku in odjemalskih osebnih računalnikih, morate to storiti na začetku, saj je celoten postopek dokaj preprost in ne traja veliko časa. Za podrobnejša navodila o tej temi si oglejte naš drugi članek na naslednji povezavi. Prikazan je tudi postopek za urejanje konfiguracijske datoteke in testiranje SSH, tako da bomo danes obravnavali druge naloge.

Več podrobnosti: Namestitev SSH-strežnika v Ubuntu

Ustvarjanje para ključev RSA

Novo nameščeni SSH nima podanih ključev za povezavo od strežnika do odjemalca in obratno. Vse te parametre je treba ročno nastaviti takoj po dodajanju vseh komponent protokola. Par ključev deluje z algoritmom RSA (kratica za imena razvijalcev Rivesta, Shamirja in Adlemana). Zahvaljujoč temu kriptosistemu so posebni ključi šifrirani s posebnimi algoritmi. Če želite ustvariti par javnih ključev, morate v konzolo vnesti le ustrezne ukaze in slediti navodilom, ki se prikažejo.

  1. Preklopite na delo s Terminalom s katero koli priročno metodo, na primer z odpiranjem prek menija ali kombinacije tipk Ctrl + Alt + T.
  2. Zaženite terminal v Ubuntuu, da boste še naprej konfigurirali SSH

  3. Vnesite ssh-keygen in pritisnite tipko Enter .
  4. S konzolo v operacijskem sistemu Ubuntu ustvarite ključ SSH

  5. Boste morali ustvariti datoteko, kjer bodo shranjene tipke. Če jih želite pustiti na privzeti lokaciji, pritisnite Enter .
  6. Izberite datoteko za shranjevanje SSH protokolnih tipk v Ubuntu

  7. Javni ključ lahko zaščitite s kodno frazo. Če želite uporabiti to možnost, v prikazani vrstici vpišite geslo. Vneseni znaki ne bodo prikazani. Nova vrstica jo bo morala ponoviti.
  8. Vnos ključnega stavka pri ustvarjanju ključa SSH v Ubuntuju

  9. Nadalje boste videli obvestilo, da je ključ shranjen in da se boste lahko seznanili z njegovo naključno grafično podobo.
  10. Uspešno ustvarjanje ključev za SSH v operacijskem sistemu Ubuntu

Zdaj je ustvarjen par ključev - tajnih in javnih, ki bodo uporabljeni za nadaljnjo povezavo med računalniki. Samo ključ morate namestiti na strežnik, da bo preverjanje pristnosti SSH uspešno.

Kopiranje javnega ključa v strežnik

Obstajajo tri metode za kopiranje ključev. Vsak od njih bo optimalen v različnih situacijah, kjer na primer ena od metod ne deluje ali ni primerna za določenega uporabnika. Predlagamo, da razmisli vse tri možnosti, začenši z najbolj preprosto in učinkovito.

Možnost 1: ukaz ssh-copy-id

Ukaz ssh-copy-id je vgrajen v operacijski sistem, zato za njegovo izvajanje ni treba namestiti dodatnih komponent. Za kopiranje ključa sledite preprosti sintaksi. V "Terminalu" morate vnesti ssh-copy-id username@remote_host , kjer je username @ remote_host ime oddaljenega računalnika.

Kopirajte ključ SSH prek posebnega pripomočka v Ubuntuju

Ko se prvič povežete, boste prejeli besedilo obvestila:

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Za nadaljevanje povezave morate podati možnost yes . Po tem bo pripomoček samodejno poiskal ključ v obliki datoteke id_rsa.pub , ki je bila ustvarjena prej. Po uspešnem odkrivanju se prikaže naslednji rezultat:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Podajte geslo oddaljenega gostitelja, tako da ga lahko program vnese. Orodje bo kopiralo podatke iz datoteke javnega ključa ~ / .ssh / id_rsa.pub , nato pa se bo na zaslonu prikazalo sporočilo:

Number of key(s) added: 1

Zdaj se poskusite prijaviti v napravo z: "ssh '[email protected]'"
preverite.

Videz takega besedila pomeni, da je bil ključ uspešno prenesen na oddaljeni računalnik, in zdaj ne bo težav s povezavo.

2. možnost: Kopirajte javni ključ prek SSH

Če ne morete uporabiti zgoraj omenjenega pripomočka, vendar imate geslo za prijavo v oddaljeni strežnik SSH, lahko ročno naložite uporabniški ključ in tako zagotovite stabilno preverjanje pristnosti pri povezovanju. Uporablja se za ta ukaz cat , ki bere podatke iz datoteke in jih nato pošlje v strežnik. V konzoli morate vnesti vrstico

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" .

Preneseni ključ prenesite prek posebnega programa Ubuntu

Ko se prikaže sporočilo

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

nadaljevanje povezovanja in vnesite geslo za prijavo v strežnik. Po tem bo javni ključ samodejno kopiran na konec konfiguracijske datoteke pooblaščenih ključev.

Možnost 3: ročno kopirajte javni ključ

Če ni dostopa do oddaljenega računalnika prek strežnika SSH, se vsi zgornji koraki izvedejo ročno. Če želite to narediti, se najprej seznanite s ključem na strežniškem računalniku z ukazom cat ~/.ssh/id_rsa.pub .

Oglejte si ključne informacije s pomočjo ukaza cat v Ubuntu

Na zaslonu se prikaže naslednja vrstica: ssh-rsa + ключ в виде набора символов== demo@test . Po tem nadaljujte z delom na oddaljeni napravi, kjer ustvarite nov imenik prek mkdir -p ~/.ssh . Poleg tega ustvari datoteko author_keys. Nato vstavite ključ, ki ste ga naučili prej, preko echo + строка публичного ключа >> ~/.ssh/authorized_keys . Po tem lahko poskusite preveriti pristnost s strežnikom brez uporabe gesel.

Preverjanje pristnosti na strežniku preko ustvarjenega ključa

V prejšnjem razdelku ste izvedeli za tri metode za kopiranje ključa oddaljenega računalnika v strežnik. Takšna dejanja vam omogočajo povezavo brez uporabe gesla. Ta postopek se izvede preko ukazne vrstice tako, da vnesete shh ssh username@remote_host , kjer je username @ remote_host uporabniško ime in gostitelj želenega računalnika. Ko se prvič povežete, boste obveščeni o neznani povezavi in ​​se lahko nadaljujete z izbiro možnosti da .

Povežite se z oddaljenim računalnikom prek SSH v Ubuntu

Povezava se bo zgodila samodejno, če med ustvarjanjem para ključev geslo ni bilo podano. V nasprotnem primeru ga morate najprej vnesti za nadaljevanje dela s SSH.

Onemogoči preverjanje pristnosti gesla

Uspešna nastavitev kopiranja ključev se upošteva v primeru, ko lahko vstopite v strežnik brez uporabe gesla. Vendar pa sposobnost za preverjanje pristnosti na ta način omogoča napadalcem uporabo orodij za iskanje gesla in prekinitev varne povezave. Zaščita pred takimi primeri bo omogočila popolno onemogočanje gesla za prijavo v konfiguracijski datoteki SSH. To bo zahtevalo:

  1. Na terminalu odprite konfiguracijsko datoteko preko urejevalnika z ukazom sudo gedit /etc/ssh/sshd_config .
  2. Zaženite konfiguracijsko datoteko SSH preko urejevalnika v Ubuntuju

  3. Poiščite vrstico »PasswordAuthentication« in na začetku odstranite znak #, da razčlenite parameter.
  4. Odkomentirajte niz s preverjanjem pristnosti gesla v Ubuntuju

  5. Spremenite vrednost v ne in shranite trenutno konfiguracijo.
  6. Onemogoči overjanje gesel SSH prek Ubuntuja

  7. Zaprite urejevalnik in znova zaženite sudo systemctl restart ssh strežnik.
  8. Znova zaženite strežnik SSH v operacijskem sistemu Ubuntu

Preverjanje pristnosti gesla bo onemogočeno in na strežnik se boste lahko prijavili samo s ključi, ki so posebej izdelani za to z algoritmom RSA.

Nastavitev standardnega požarnega zidu

V Ubuntuju je privzeti požarni zid Uncomplicated Firewall (UFW). Omogoča vam, da dovolite povezave za izbrane storitve. Vsaka aplikacija ustvari svoj profil v tem orodju in UFW jih upravlja tako, da dovoli ali zavrne povezave. Konfiguriranje profila SSH z dodajanjem na seznam je naslednje:

  1. Odprite seznam profilov požarnega zidu z ukazom sudo ufw app list .
  2. Oglejte si seznam standardnih profilov požarnega zidu v Ubuntuju

  3. Vnesite geslo računa za prikaz informacij.
  4. Vnos gesla za ogled seznama standardnih profilov požarnega zidu Ubuntu

  5. Videli boste seznam razpoložljivih aplikacij, med njimi naj bi bil OpenSSH.
  6. Seznam standardnih profilov požarnega zidu v Ubuntuju

  7. Zdaj morate dovoliti povezave prek SSH. Če želite to narediti, ga dodajte na seznam dovoljenih profilov s pomočjo sudo ufw allow OpenSSH .
  8. Dodajte strežnik SSH, da omogočite povezave do požarnega zidu Ubuntu

  9. Omogočite požarni zid s posodobitvijo pravil, sudo ufw enable .
  10. Znova zaženite pravila za posodobitev požarnega zidu v Ubuntuju

  11. Če želite zagotoviti, da so povezave dovoljene, nastavite sudo ufw status , po katerem boste videli stanje omrežja.
  12. Oglejte si seznam dovoljenih povezav požarnega zidu v Ubuntu

S tem boste izpolnili naša navodila za konfiguracijo SSH za Ubuntu. Nadaljnjo konfiguracijo konfiguracijske datoteke in drugih parametrov opravi vsak uporabnik osebno po njegovih zahtevah. Lahko se seznanite z delovanjem vseh komponent SSH v uradni dokumentaciji protokola.