Koduleht » kuidas » Lugege oma Linuxi arvutisse OpenSSH-i sisendeid ja välju

    Lugege oma Linuxi arvutisse OpenSSH-i sisendeid ja välju

    Oleme SSH-i voorusi mitmel korral laiendanud nii turvalisuse kui ka kaugjuurdepääsu jaoks. Vaatame serverit ise, mõningaid olulisi hoolduse aspekte ja mõningaid küsimusi, mis võivad muuta turbulentsi muidu sujuvale sõidule.

    Kuigi oleme selle juhendi Linuxiga meeles pidanud, võib see kehtida ka OpenSSH puhul Mac OS X ja Windows 7 kaudu Cygwin kaudu.

    Miks see on turvaline

    Me mainisime mitu korda, kuidas SSH on suurepärane võimalus turvaliselt ühendada ja tunnelida andmeid ühest punktist teise. Vaatame väga lühidalt, kuidas asjad toimivad, nii et saad parema ettekujutuse sellest, miks asjad võivad mõnikord imelikuks minna.

    Kui me otsustame algatada ühenduse teise arvutiga, kasutame sageli protokolle, mida on lihtne töödelda. Mõlemad tulevad meelde ka Telnet ja FTP. Me saadame informatsiooni kaugserverile ja siis saame kinnituse meie ühenduse kohta. Mõnda tüüpi ohutuse tagamiseks kasutavad need protokollid sageli kasutajanime ja parooli kombinatsioone. See tähendab, et nad on täiesti turvalised, eks? Vale!

    Kui me arvame, et meie liitumisprotsess on meil, siis FTP ja Telneti jms kasutamine ei ole tavaliste postkastide kasutamine. See on pigem postkaartide kasutamine. Kui keegi hakkab keskele astuma, näevad nad kõiki andmeid, sealhulgas nii korrespondentide aadresse kui ka välja antud kasutajanime ja parooli. Seejärel saavad nad sõnumit muuta, hoides informatsiooni samaks ja kehastama ühte korrespondenti või teist. Seda tuntakse kui “keset keskel” rünnakut ja see mitte ainult ei kahjusta teie kontot, vaid seab kahtluse alla iga saadetud sõnumi ja vastuvõetud faili. Sa ei saa olla kindel, kas sa räägid saatjaga või mitte, ja isegi kui sa oled, ei saa te olla kindel, et keegi ei näe kõike alates.

    Nüüd vaatame SSL-i krüpteerimist, mis muudab HTTP turvalisemaks. Siin on meil postkontor, mis tegeleb kirjavahetusega, kes kontrollib, kas teie saaja on see, keda ta väidab olevat, ja kas teie kirju kaitstakse teie vaadates. See on üldisemalt turvaline ning keskasutus - Verisign on meie HTTPSi näite jaoks üks - tagab, et isik, kellele kirju saadate, kontrollib. Nad teevad seda, jättes postkaardid (krüptimata volikirjad) lubamata; selle asemel volitavad nad tegelikke ümbrikke.

    Lõpuks vaatame SSH-d. Siin on seadistus veidi erinev. Meil ei ole siin keskset autentijat, kuid asjad on endiselt turvalised. Seda sellepärast, et sa saadad kirju kellelegi, kelle aadress on juba teada - rääkides nendega telefoniga - ja kasutate oma ümbriku allkirjastamiseks mõningaid tõeliselt ilusaid matemaatikaid. Sa annad selle oma vennale, tüdruksõbrale, isale või tütarele, et see aadressile suunata, ja ainult siis, kui saaja ilus matemaatika sobib, siis eeldate, et aadress on see, mis peaks olema. Siis saadakse tagasi kiri, mis on kaitstud ka uteliailta silmadelt selle vinge matemaatika eest. Lõpuks saadate oma volikirja teisele salajast algoritmiliselt lummatud ümbrikule sihtkohta. Kui matemaatika ei sobi, võime eeldada, et algne saaja kolis ja me peame oma aadressi uuesti kinnitama.

    Seletusega nii kaua, kui see on, me arvame, et me lõigame selle seal. Kui teil on veel rohkem arusaamu, siis rääkige loomulikult kommentaarides. Praegu vaatame siiski SSH kõige olulisemat omadust, peremehe autentimist.

    Host Keys

    Host autentimine on sisuliselt osa, kus keegi, keda usaldate, võtab ümbriku (mis on suletud maagilise matemaatikaga) ja kinnitab teie adressaadi aadressi. See on aadressi päris üksikasjalik kirjeldus ja see põhineb mõnel keerulisel matemaatikal, mida me lihtsalt vahele jätame. Sellest on paar olulist asja ära võtta, kuid:

    1. Kuna puudub keskne asutus, on tegelik turvalisus võti võtmes, avalikes võtmetes ja privaatvõtmetes. (Need kaks viimast võtit on konfigureeritud, kui teil on süsteemile juurdepääs.)
    2. Tavaliselt salvestatakse SSH kaudu teise arvutiga ühenduse loomisel hostiklahv. See muudab tulevased tegevused kiiremaks (või vähem).
    3. Kui vastuvõtva võti muutub, siis tõenäoliselt hoiatatakse ja te peaksite olema ettevaatlikud!

    Kuna SSH-serveri identiteedi tuvastamiseks kasutatakse hostivõtit enne autentimist, siis kontrollige enne ühenduse loomist kindlasti võtit. Näete alltoodud kinnitusdialoogi.

    Sa ei tohiks siiski muretseda! Sageli on turvalisuse probleemiks eriline koht, mida vastuvõtja võti (ECDSA sõrmejälg eespool) saab kinnitada. Täielikult online ettevõtmistes on see sageli ainult turvalise sisselogimise saidil. Võimalik, et peate (või valima!) Telefonil oma IT-osakonna telefoni kinnitama. Olen isegi kuulnud mõningaid kohti, kus võti on teie tööalases märgis või spetsiaalses hädaabinumbrite loendis. Ja kui teil on füüsiline juurdepääs sihtmasinale, saate ka ise kontrollida!

    Teie süsteemi hostikoodi kontrollimine

    Võtmete tegemiseks kasutatakse 4 tüüpi tüüpi krüpteerimisalgoritme, kuid OpenSSH-i vaikeväärtus käesoleva aasta alguses on ECDSA (mõningatel põhjustel). Me keskendume sellele täna. Siin on käsk, mida saate käivitada SSH-serveril, millele teil on juurdepääs:

    ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l

    Teie väljund peaks tagastama midagi sellist:

    256 ca: 62: ea: 7c: e4: 9e: 2e: a6: 94: 20: 11: db: 9c: 78: c3: 4c /etc/ssh/ssh_host_ecdsa_key.pub

    Esimene number on võtme bitipikkus, siis on see võti ise ja lõpuks on teil see fail salvestatud. Võrdle seda keskmist osa sellega, mida näete, kui teil palutakse eemalt sisse logida. See peaks sobima ja olete kõik seadistatud. Kui see nii ei ole, võib midagi muud juhtuda.

    Saate vaadata kõiki SSH-ga ühendatud sidureid, vaadates oma teadaolevat faili. Tavaliselt asub see aadressil:

    ~ / .ssh / tuntud_hosts

    Seda saate avada mis tahes tekstiredaktoris. Kui vaatate, püüdke pöörata tähelepanu sellele, kuidas võtmed on salvestatud. Nad salvestatakse hostarvuti nime (või veebiaadressi) ja selle IP-aadressiga.

    Hosti võtmete ja probleemide muutmine

    On mõned põhjused, miks hostiklahvid muutuvad või ei vasta neile, mis on sisse logitud teie teadaolevas failis.

    • Süsteem paigaldati uuesti / konfigureeriti uuesti.
    • Turvaprotokollide tõttu muudeti hostiklahve käsitsi.
    • OpenSSH server uuendas ja kasutab turvalisuse tõttu erinevaid standardeid.
    • IP- või DNS-i liising muutus. See tähendab sageli, et üritate kasutada teist arvutit.
    • Süsteem oli mingil viisil ohustatud, nii et võti võti muutus.

    Tõenäoliselt on probleem üks kolmest esimesest ja te võite muudatust ignoreerida. Kui IP / DNS-i üür muutub, võib serveriga tekkida probleem ja teid võib suunata teisele masinale. Kui te pole kindel, milline on muudatuse põhjus, siis peaksite ilmselt eeldama, et see on viimane nimekirjas.

    Kuidas OpenSSH tegeleb tundmatute hostidega

    OpenSSH-l on seaded, kuidas see tundmatute peremeestega hakkama saab, peegeldub muutujaga „StrictHostKeyChecking” (ilma jutumärkideta).

    Sõltuvalt teie konfiguratsioonist võivad SSH-ühendused tundmatute peremeestega (mille võtmed pole juba teada olevas failis).

    • StrictHostKeyChecking on seatud väärtusele no; OpenSSH ühendub automaatselt mis tahes SSH-serveriga, hoolimata hostivõtme olekust. See on ebakindel ja pole soovitatav, välja arvatud juhul, kui pärast operatsioonisüsteemi uuesti installimist lisate hulk võõrustajaid, pärast mida muudate selle tagasi.
    • StrictHostKeyChecking on seatud küsima; OpenSSH kuvab teile uued hostiklahvid ja küsib kinnitust enne nende lisamist. See takistab ühenduste muutumist muutunud hostiklahvidele. See on vaikimisi.
    • StrictHostKeyChecking on seatud jah; Vastupidi „ei“, see takistab teil ühenduda mis tahes hostiga, mis pole teie teadaolevas failis juba olemas.

    Seda muutujat saab käsureal lihtsalt muuta, kasutades järgmist paradigmat:

    ssh -o 'StrictHostKeyChecking [valik]' kasutaja @ host

    Asenda [variant] sõnaga “ei”, “küsi” või “jah”. Pea meeles, et selle muutuja ja selle sätte ümbruses on üksikuid tsitaate. Asendage kasutaja @ host samuti selle serveri kasutajanime ja hostinimega, kellega ühendate. Näiteks:

    ssh -o 'StrictHostKeyChecking küsi' [email protected]

    Blokeeritud Hosts muutunud võtmete tõttu

    Kui teil on server, millega üritate juurde pääseda, kui selle võti on juba muutunud, takistab vaikimisi OpenSSH-konfiguratsioon sellele juurdepääsu. Sa võid muuta selle peremehe StrictHostKeyChecking väärtust, kuid see ei oleks täiesti, põhjalikult, paranoiliselt turvaline, kas? Selle asemel saame lihtsalt rikkuva väärtuse eemaldada meie teadaolevast failist.

    See on kindlasti kole asi, mis teie ekraanil on. Õnneks oli meie põhjuseks installitud operatsioonisüsteem. Niisiis, lähendage vajalikku joont.

    Seal me läheme. Vaadake, kuidas tsiteerib faili, mida peame redigeerima? See annab meile isegi rea numbri! Niisiis avame selle faili Nano:

    Siin on meie solvav võti, reas 1. Kõik, mida me peame tegema, on Ctrl + K vajutamine, et kogu rida välja lõigata.

    See on palju parem! Niisiis, nüüd me tabasime Ctrl + O, et kirjutada (salvestada) fail, seejärel Ctrl + X, et väljuda.

    Nüüd saame selle asemel kena käsu, millele saame lihtsalt vastata "jah".

    Uute hostiklahvide loomine

    Rekordi jaoks pole tõesti liiga suur põhjus, miks sa võõrustaja võtit üldse muuta, aga kui sa vajad vajadust, saate seda teha lihtsalt.

    Kõigepealt muutke sobivaks süsteemi kataloogiks:

    cd / etc / ssh /

    Tavaliselt on need globaalsed peremehe võtmed, kuigi mõnedel aladel on need paigutatud mujale. Kahtluse korral kontrollige oma dokumentatsiooni!

    Seejärel kustutame kõik vanad võtmed.

    sudo rm / etc / ssh / ssh_host_ *

    Teise võimalusena võite soovi korral need paigutada turvalisse varukataloogi. Lihtsalt mõte!

    Seejärel saame OpenSSH serverile ennast ise konfigureerida:

    sudo dpkg-reinfigure openssh-server

    Näete, kui arvuti loob uusi võtmeid. Ta-da!


    Nüüd, kui teate, kuidas SSH natuke paremini töötab, peaksite saama ennast rasketest kohtadest välja. „Remote Host Identification on muutunud” hoiatus / viga on midagi, mis viskab palju kasutajaid välja, isegi need, kes on käsurealt tuttavad.

    .