Kerged trikid SSH

Selles artiklis on koondatud meie parimad nÀpunÀited SSH tÔhusamaks kasutamiseks. Siit saate teada kuidas:

  • Lisada SSH sisselogimisele teine faktor
  • Ohutult kasutada agentide edastamist
  • VĂ€ljuda jÀÀdunud SSH sessioonist
  • Hoida pidevalt terminal avatud
  • Jagada terminali kaugsessioon oma sĂ”braga (ilma Zoomita!)

Teise faktori lisamine oma SSH-le

SSH ĂŒhendustele saab teise autentimise faktori lisada viie erineva meetodiga:

  1. Uuendada oma OpenSSH ja kasutada krĂŒptovĂ”tmeid. Veebruaris 2020 lisati OpenSSHi tugi FIDO U2F (Universal Second Factor) krĂŒptovĂ”tmete jaoks. See on suurepĂ€rane uus funktsioon, kuid on siiski ĂŒhe nĂŒansiga: ainult need kliendid ja serverid, mis on uuendatud versioonile OpenSSH 8.2 vĂ”i kĂ”rgemale, saavad kasutada krĂŒptovĂ”tmeid, kuna veebruari vĂ€rskendus toob neile uusi vĂ”tme tĂŒĂŒpe. Klientversiooni kontrollimiseks saate kasutada kĂ€sku ssh –V serveriversiooni kontrollimiseks kĂ€sku nc [servername] 22

    Veebruari versioonis lisati kaks uut vĂ”tme tĂŒĂŒpi — ecdsa-sk ja ed25519-sk (koos vastavate sertifikaatidega). VĂ”tme faili genereerimiseks piisab, kui sisestate oma krĂŒptovĂ”tme ja kĂ€ivitate kĂ€sku:
    $ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk

    See loob avaliku ja salajase vĂ”tme ning seob need teie U2F seadmega. Salajase vĂ”tme ĂŒlesanne U2F seadmes on dekodeerida vĂ”tme salajane deskriptor kettal aktiveeritud krĂŒptovĂ”tme olemasolul.

    Lisaks vÔite teise faktorina esitada koodifraasi oma vÔtmete jaoks.

    Residentne vĂ”ti on veel ĂŒks OpenSSH poolt toetatud -sk-kaardivĂ”tme genereerimise tĂŒĂŒp. Sellise lĂ€henemise korral hoitakse deskriptorit U2F seadmes ja see vĂ”imaldab seda kasutada krĂŒptovĂ”tmega, kui see on vajalik. Residentse vĂ”tme loomine Ă”nnestub kĂ€suga:

    $ ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk

    SeejĂ€rel, et deskriptor tagasi uude seadmesse mĂ€lu saada, sisestage krĂŒptovĂ”ti ja kĂ€ivitage kĂ€sk:

    $ ssh-add -K

    Kui ĂŒhendate hostiga, peate endiselt aktiveerima krĂŒptovĂ”tme.

  2. Kasutada PIV+PKCS11 ja Yubikey'd. Vanemate versioonide SSHD seadmetele krĂŒptovĂ”tmega ĂŒhendamiseks on vajalik teine lĂ€henemine. Yubicol on juhend U2F+SSH kasutamise kohta PIV/PKCS11-ga (inglise keeles). See ei ole sama mis FIDO U2F, ja kuigi meetod töötab, on selle mĂ”istmine suur vaev.
  3. Rakenda kohandatud yubikey-agent ssh-agent. Filippo Valsoarda kirjutas SSH-agendi Yubikeys'ile. See on tÀiesti uus ja sisaldab minimaalset funktsionaalsust.
  4. Kasutage Touch ID ja sekey'd. Sekey on avatud lÀhtekoodiga SSH-agent, mis salvestab salajased vÔtmed Maci kaitstud enclaves ja vÔimaldab kasutada Touch ID-d juurdepÀÀsu funktsioonina.
  5. Kasutage Single Sign On SSH-d. Kirjutasin juhendi, et aidata seda meetodit seadistada (inglise keeles). Üks Single Sign On SSH eeliseid on vĂ”imalus rakendada teie identiteedi pakkuja turvapoliitikaid — sealhulgas mitme teguri autentimise (MFA) toetamist.

Ohutu agent forwarding kasutamine

SSH agent forwarding vĂ”imaldab kaug-sĂŒsteemil pÀÀseda teie kohaliku seadme SSH-agendile. Kui kasutate SSH-d koos lubatud agent forwarding'iga (tavaliselt ssh -A lĂ€bi), on ĂŒhenduses kaks kanalit: teie interaktiivne sessioon ja agent forwarding kanali. Selle kanali kaudu ĂŒhendab teie kohaliku SSH-agendi loodud Unix-sokett kaug-sĂŒsteemiga. See on riskantne meetod, kuna root-juurdepÀÀsuga kasutaja kaug-sĂŒsteemis vĂ”ib pÀÀseda teie kohaliku SSH-agendile ja potentsiaalselt esineda vĂ”rgus teie nimel. Kasutades Open SSH komplekti tavapĂ€rast SSH-agenti, ei saa te isegi aru, et see on juhtunud. U2F-vĂ”ti (vĂ”i Sekey) aitab tĂ”husalt blokeerida kĂ”ik katsed kasutada teie SSH-agenti vĂ€ljastpoolt.

Isegi sellise ettevaatusabinĂ”uga on hea mĂ”te agent forwarding'it vĂ”imalikult harva kasutada. Ärge kasutage seda igas sessioonis — kasutage agent forwarding'it ainult siis, kui olete kindel, et see on vajalik antud sessiooni jaoks.

VÀljumine jÀÀksessioonist

VĂ”rgukatkestus, kontrollimatu programmikĂ€itumine vĂ”i juhtimisjĂ€rjestus, mis blokeerib klaviatuuri sisendi — kĂ”ik need on vĂ”imalikud pĂ”hjused SSH-sessiooni katkestamiseks.

JÀÀksessiooni lÔpetamiseks on mitu vÔimalust:

  1. Automaatne vÀljumine, kui vÔrk katkeb. Lisage oma .ssh/config faili jÀrgmine:
    ServerAliveInterval 5
    ServerAliveCountMax 1

    ssh saadab kaug-sĂŒsteemile iga ServerAliveInterval sekundi jĂ€rel echo, et kontrollida ĂŒhendust. Kui rohkem kui ServerAliveCountMax echo ei saa vastust, lĂ”petab ssh ĂŒhenduse aja ĂŒletamise tĂ”ttu ja vĂ€ljub sessioonist.

  2. Ühenduse katkestamine. SSH kasutab vaikimisi sĂŒmbolit ~ (tilde) juhtimistĂ€heks. KĂ€sk ~. sulgeb avatud ĂŒhenduse ja viib teid tagasi terminali. (JuhtimisjĂ€rjestusi saab sisestada ainult uuel real.) KĂ€sk ~? vĂ€ljastab tĂ€ieliku nimekirja selles sessioonis saadaval olevatest kĂ€skudest. Pidage meeles, et rahvusvaheline klaviatuur vĂ”ib vajada ~ sĂŒmboli sisestamiseks selle nĂ€ppimist kaks korda.

Miks tekivad ĂŒldse hangunud sessioonid? Interneti loomise aegadel liikusid arvutid harva ĂŒhest kohast teise. Kui kasutate sĂŒlearvuteid ja vahetate mitme IPv4 WiFi vĂ”rgu vahel, muutub teie IP-aadress. Kuna SSH toetub TCP-ĂŒhendustele ja need omakorda sĂ”ltuvad stabiilsest IP-aadressiga lĂ”pp-punktist, kaotavad teie SSH-ĂŒhendused igal korral, kui rÀÀkite vĂ”rkude vahel, oma soketikirje ja kaovad tegelikult. Kui teie IP-aadress muutub, vajab teie vĂ”rgustiku hunnik aega soketikirje kaotuse avastamiseks. Kui vĂ”rgu tĂ”rked ilmnevad, ei soovi me, et ĂŒks TCP-ĂŒhenduse sĂ”lm katkestaks selle liiga vara. SeetĂ”ttu proovib protokoll andmete edastamist mitu korda enne, kui see lĂ”puks loobub. Samal ajal nĂ€eb teie terminalis seanss vĂ€lja peatunud. IPv6 toob mobiilsuse omadustega seotud mitmeid funktsioone, mis vĂ”imaldavad seadmel sĂ€ilitada koduaadressi vĂ”rgu vahetamisel. VĂ”ib-olla kaob see probleem meilt kunagi.

Kuidas hoida pidevalt avatud terminal eemal oleval sÔlmel

On kaks erinevat lĂ€henemist selle kohta, kuidas sĂ€ilitada ĂŒhendust, kui liigelda erinevate vĂ”rkude vahel vĂ”i soovides lĂŒhidalt katkestada.

1. Kasutada Mosh vÔi Eternal Terminal

Kui teil on tĂ”eliselt vajalik stabiilne ĂŒhendus, mis ei katke isegi siis, kui vahetate vĂ”rgud, kasutage mobiilset Mosh kest. See on turvaline kest, mis alguses kasutab SSH-kĂ€tlemist ja seejĂ€rel vahetab oma krĂŒpteeritud kanalile kogu sessiooni ajaks. Nii loob Mosh eraldi, vĂ€ga vastupidava ja turvalise kanali, mis suudab taluda nii interneti katkemisi, teie sĂŒlearvuti IP-aadressi muutumist, tĂ”siseid vĂ”rgu katkestusi ja palju muud, ja seda kĂ”ike UDP-ĂŒhenduste maagia ning Mosh'i sĂŒnkroniseerimisprotokolli abiga.

Moshi kasutamiseks peate selle installima nii kliendisse kui ka serverisse ning avama portid 60000-61000 UPD-turvakanali liikluseks oma kaugserverisse. Edasi on piisav kasutada mosh user@server.

Mosh töötab ekraanide ja klahvivajutuste tasemel, mis annab sellele mitmeid eeliseid vĂ”rreldes tavapĂ€rase binaarvoo edastamisega SSH kliendi ja serveri vahel. Kui peame sĂŒnkroniseerima ainult ekraanid ja klahvivajutuste, siis katkestatud ĂŒhenduse taastamine hiljem on palju lihtsam. Samal ajal kui SSH puhverdab ja saadab kĂ”ik, mis juhtus, piisab Moshi jaoks klahvivajutuste puhverdamisest ja terminali viimase ekraani sĂŒnkroniseerimisest kliendiga.

2. Kasutage tmux

Kui soovite "tulle ja minna, kui sĂŒdames soovite" ning hoida terminaliseanssi eemal, kasutage terminalimultiplexerit tmux. Mulle meeldib tmux ja kasutan seda pidevalt. Kui teie SSH-ĂŒhendus katkeb, siis et naasta oma tmux seanssi, piisab lihtsalt taasĂŒhendamisest ja kirjutamisest tmux attach. Samuti on seal imeline funktsioon, nĂ€iteks sisemise terminali sakkide ja paneelide olemasolu, mis on sarnased iOS terminali sakkidele, ja vĂ”imalus jagada terminale teistega.

MÔned inimesed armastavad oluliselt tÀiustada oma tmux'i Byobu abil, paketiga, mis parandab tmux'i kasutusmugavust ja lisab palju otseteid. Byobu on kaasas Ubuntu'ga ja seda on lihtne installida Mac'i kaudu Homebrew.

KaugtÀhe terminaliseansi jagamine sÔbraga

MĂ”nikord, kui tegelete keeruliste probleemide tĂ”rkeotsinguga oma serverites, vĂ”ib tekkida soov jagada SSH seanssi kellegagi, kes ei viibi samas ruumis. Tmux sobib selle ĂŒlesande tĂ€itmiseks ideaalselt! Piisab vaid mĂ”nest lihtsast sammust:

  1. Veenduge, et tmux oleks teie bastioniserveris vÔi mÔnes teises serveris, millega kavatsete töötada.
  2. MĂ”lemad peate ĂŒhenduma SSH kaudu seadmega, kasutades ĂŒhte kontot.
  3. Üks teist peab kĂ€ivitama tmux, et alustada tmux seanssi.
  4. Teine peab kÀivitama tmux attach
  5. VoilĂ ! Teil on ĂŒhine terminal.

Kui soovite keerukamaid mitme kasutaja tmux seansse, proovige tmate'i, see on tmux'i fork, mis lihtsustab mÀrkimisvÀÀrselt koosolekute seansse.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster