Povezane su s vrlinama SSH brojnih puta, i za sigurnost i daljinski pristup. Pogledajmo sam poslužitelj, neke važne aspekte "održavanja" i neke čudoviće koje mogu dodati turbulenciju na inače glatku vožnju.
Iako smo napisali ovaj vodič uz pomoć Linuxa, to se može primijeniti i na OpenSSH u Mac OS X i Windows 7 putem Cygwina.
Mnogo smo puta spomenuli kako je SSH sjajan način za sigurno povezivanje i tuneliranje podataka s jedne točke u drugu. Uzmimo vrlo kratak uvid u to kako stvari funkcioniraju kako biste dobili bolju predodžbu zašto se stvari ponekad mogu činiti čudnim.
Kada odlučimo pokrenuti vezu s drugim računalom, često upotrebljavamo protokole s kojima je lako raditi. Telnet i FTP oba dolaze na pamet. Mi šaljemo informacije na udaljeni poslužitelj i dobivamo povratnu potvrdu o našoj vezi. Da bi se utvrdila neka vrsta sigurnosti, ti protokoli često koriste kombinacije korisničkog imena i lozinke. To znači da su potpuno sigurni, zar ne? Pogrešno!
Ako mislimo na naš proces spajanja kao mail, onda korištenje FTP i Telnet i slično nije kao pomoću standardne mailing omotnice. To je više poput korištenja razglednica. Ako se netko usredotoči na sredinu, mogu vidjeti sve informacije, uključujući adrese oba dopisnika i korisničko ime i zaporku poslane. Zatim mogu promijeniti poruku, čuvati podatke istim, i predstavljati jedan dopisnik ili drugi. To je poznato kao napad "čovjek u sredini", a ne samo da to ugrožava vaš račun, ali dovodi u pitanje svaku primljenu poruku i zaprimljenu datoteku. Ne možete biti sigurni jeste li razgovarali s pošiljateljem ili ne, a čak i ako jeste, ne možete biti sigurni da nitko ne gleda sve između njih.
Pogledajmo sada SSL šifriranje, vrsta koja čini HTTP sigurnijima. Ovdje imamo poštansku službu koja obrađuje dopisivanje, koja provjerava je li vaš primatelj tko tvrdi da jest i ima zakone koji štite vašu poštu. Općenito je sigurnije, a središnja vlast - Verisign je jedan, za naš primjer HTTPS-a - osigurava da osoba koja šaljete poštu provjerava. To čine tako što ne dopuštaju razglednice (neispisane vjerodajnice); Umjesto toga, oni nalažu stvarne omotnice.
Napokon, pogledajmo SSH. Ovdje je postava malo drugačija. Ovdje nemamo središnji autentifikator, ali stvari su još uvijek sigurne. To je zato što šaljete pismo nekome čija adresa već znate - recimo, razgovarajući s njima na telefonu - i upotrebljavate neku stvarno fantastičnu matematiku da potpišete svoju omotnicu. Dopustite to svom bratu, djevojci, tati ili kćeri da ga odnesete na adresu, a samo ako primamljivi fanovi matematičkih utakmica pretpostavljate da je adresa ono što bi trebalo biti. Tada ćete dobiti pismo natrag, također zaštićen od znatiželjnih očiju s ovim strašnim matematikom. Konačno, svoje vjerodajnice šaljete na drugu tajnovitu algoritamski omotanu omotnicu do odredišta. Ako se matematika ne podudara, možemo pretpostaviti da se izvorni primatelj preselio i moramo ponovno potvrditi njihovu adresu.
Uz objašnjenje koliko god to bilo, mislimo da ćemo ga rezati. Ako imate još više uvida, slobodno razgovarajte u komentarima, naravno. Za sada, ipak, pogledajmo najrelevantniju značajku SSH, autentifikaciju domaćina.
Autentikacija host je u suštini dio u kojem je povjerljiva osoba preuzela omotnicu (zapečaćena čarobnim matematikom) i potvrđuje adresu primatelja. To je prilično detaljan opis adrese, a temelji se na nekoj složenoj matematici koju ćemo jednostavno preskočiti. Postoji nekoliko važnih stvari za oduzimanje toga, iako:
Budući da se ključ za host koristi prije autentifikacije da bi se utvrdio identitet SSH poslužitelja, trebali biste provjeriti ključ prije nego se povežete. Vidjet ćete dijaloški okvir za potvrdu kao u nastavku.
Ne brini se, ipak! Često kada je sigurnost zabrinutost, bit će posebno mjesto na kojem se može potvrditi ključ domaćina (ECDSA otisak prsta gore). U potpuno online pothvatima, često će biti na sigurnom web-mjestu za prijavu. Možda ćete morati (ili odlučiti!) Telefonirati vaš IT odjel da potvrdite ovu tipku preko telefona. Čuo sam čak i za neka mjesta na kojima je ključ na vašem značku ili na posebnom popisu "Emergency Numbers". A ako imate fizički pristup ciljnom stroju, možete i sami provjeriti!
Postoje 4 vrste vrsta algoritama za šifriranje koji se koriste za izradu ključeva, no zadani je za OpenSSH od ranije ove godine ECDSA (s nekim dobrim razlozima). Danas ćemo se usredotočiti na to. Evo naredbe koju možete pokrenuti na SSH poslužitelju kojem imate pristup:
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l
Vaš output bi trebao vratiti nešto ovako:
256 ca: 62: ea: 7c: e4: 9e: 2e: a6: 94: 20: 11: db: 9c: 78: c3: 4c /etc/ssh/ssh_host_ecdsa_key.pub
Prvi broj je bit duljina ključa, a zatim je ključ i konačno imate datoteku u kojoj je pohranjena. Usporedite taj srednji dio s onim što vidite kada se od vas zatraži prijava na daljinu.Trebao bi se podudarati, a vi ste svi postavljeni. Ako ne, onda se može dogoditi nešto drugo.
Možete pregledati sve hostove s kojima ste se povezali putem SSH-a proučavanjem datoteke known_hosts. Obično se nalazi na adresi:
~ / .Ssh / known_hosts
Možete ga otvoriti u bilo kojem uređivaču teksta. Ako pogledate, pokušajte obratiti pozornost na to kako se ključevi pohranjuju. Pohranjene su uz ime računala (ili web adresu) i njegovu IP adresu.
Postoji nekoliko razloga zbog kojih se ključevi domaćina mijenjaju ili ne odgovaraju onome što je prijavljeno u datoteci known_hosts.
Najvjerojatnije je ovo pitanje jedno od prva tri, a promjenu možete zanemariti. Ako se IP / DNS zakup promijenio, možda postoji problem s poslužiteljem i možda ćete ga preusmjeriti na drugi stroj. Ako niste sigurni koji je razlog za promjenu, vjerojatno biste trebali pretpostaviti da je posljednji na popisu.
OpenSSH ima postavku za rukovanje nepoznatih hostova, što se odražava u varijabli "StrictHostKeyChecking" (bez navodnika).
Ovisno o vašoj konfiguraciji, SSH veze s nepoznatim hostovima (čiji ključevi već nisu u datoteci known_hosts) mogu ići na tri načina.
Jednostavno možete promijeniti ovu varijablu na naredbenom retku pomoću sljedeće paradigme:
ssh-o 'StrictHostKeyChecking [opcija]' user @ host
Zamijenite [opciju] s "ne", "pitaj" ili "da". Budite svjesni da postoje jednake pravocjene citate koji okružuju ovu varijablu i njegovu postavku. Također zamijenite korisnik @ host s korisničkim imenom i nazivom poslužitelja poslužitelja na koji se povezujete. Na primjer:
ssh-o 'StrictHostKeyChecking pitajte' [email protected]
Ako imate poslužitelj kojem pokušavate pristupiti, već je promijenjen ključ, već će zadana OpenSSH konfiguracija spriječiti pristup toj usluzi. Možete promijeniti StrictHostKeyChecking vrijednost za tog domaćina, ali to ne bi bilo potpuno, temeljito, paranoidno sigurno, zar ne? Umjesto toga, jednostavno možemo ukloniti uvredljivu vrijednost iz datoteke known_hosts.
To je svakako ružna stvar na vašem zaslonu. Srećom, naš razlog za to bio je reinstalirani OS. Zato povećajmo potrebnu liniju.
Idemo tamo. Pogledajte kako navodi datoteku koju trebamo urediti? Čak nam daje i redni broj! Zato otvorimo tu datoteku u Nano:
Evo našeg uvredljivog ključa, u retku 1. Sve što trebamo je pritisnuti Ctrl + K da biste izrezali cijelu liniju.
To je puno bolje! Dakle, sad pritisnemo Ctrl + O da zapišemo (spremimo) datoteku, a zatim Ctrl + X da izađemo.
Umjesto toga, dobivamo lijep potez, na koji možemo jednostavno odgovoriti s "da".
Za zapis, doista nema previše razloga za promjenu ključa domaćina, ali ako ikada pronađete potrebu, možete to učiniti lako.
Najprije promijenite odgovarajući direktorij sustava:
cd / etc / ssh /
To je obično mjesto gdje su glavni ključovi domaćina, iako ih neki distribuiraju negdje drugdje. U slučaju sumnje provjerite dokumentaciju!
Zatim ćemo izbrisati sve stare ključeve.
sudo rm / etc / ssh / ssh_host_ *
Alternativno, možete ih premjestiti u sigurnosni rezervni direktorij. Samo misao!
Tada možemo reći OpenSSH poslužitelju da se ponovno konfigurira:
sudo dpkg-reconfigure openssh-server
Vidjet ćete upit dok računalo stvara nove ključeve. Evo ga!
Sada kada znate kako SSH radi malo bolje, trebali biste biti u mogućnosti izvući se iz teških mjesta. Upozorenje / pogreška "Identifikacija udaljenog računala je promijenjena" je ono što baca puno korisnika, čak i onih koji poznaju naredbeni redak.
Za bonus bodove, možete provjeriti kako daljinski kopirati datoteke preko SSH bez unošenja vaše lozinke. Tu ćete naučiti nešto više o drugim vrstama algoritama za šifriranje i kako koristiti ključne datoteke za dodatnu sigurnost.