Oglas

Kako se autentificirati putem SSH-a s ključevima umjesto lozinkiSSH je izvrstan način za dobivanje udaljenog pristupa vašem računalu. Slično FTP-u, možete se povezati preko SSH FTP Što je SSH i kako se razlikuje od FTP-a [objašnjena tehnologija] Čitaj više za siguran pristup datotečnom poslužitelju sa svojim omiljenim FTP klijent Svladajte FTP prijenos datoteka na svim vašim stranicama uz FileZillaVeliki broj starih FTP klijenata imao je štucanja kada je u pitanju prijenos velikih datoteka. Aplikacije su doživjele uobičajena vremenska ograničenja koja biste očekivali kada računalo ostane tamo 15 do... Čitaj više , brzi pristup udaljenim datotekama ili čak montiranje mrežnog diska na vaše računalo. No, SSH ima više od udaljenog pristupa datotekama. Prijava putem SSH-a u terminalu (ili korištenjem Kit na Windowsima) daje vam daljinski pristup ljusci (na kraju krajeva, SSH je skraćenica od Secure SHell). Tako upravljam svojim medijskim poslužiteljem iz daljine.

Kada ti otvorite portove Što je prosljeđivanje portova i kako mi može pomoći? [MakeUseOf objašnjava]

instagram viewer
Plačete li malo iznutra kada vam netko kaže da postoji problem s prosljeđivanjem portova i zato vaša sjajna nova aplikacija neće raditi? Vaš Xbox vam ne dopušta igranje igrica, vaša preuzimanja torrenta odbijaju... Čitaj više na vašem usmjerivaču (točnije port 22) ne možete pristupiti svom SSH poslužitelju samo iz vaše lokalne mreže, već s bilo kojeg mjesta na svijetu.

Međutim, ne želite riskirati korištenje slabe lozinke za autentifikaciju. Ako netko dobije pristup vašem računalu preko SSH-a, dobiva potpuni pristup ljusci. Samo da bude jasno, to nije nešto što želimo. Srećom, vrlo je lako postaviti vaš globalni SSH poslužitelj na vrlo siguran način korištenjem provjere autentičnosti temeljene na ključu i potpunog onemogućavanja provjere autentičnosti lozinkom na vašem poslužitelju.

Je li ovo za mene?

Primamljivo je opustiti se uz osobnu sigurnost. Ako poslužitelj koristite za privatne svrhe, mogli biste pomisliti da ljudi jednostavno ne znaju za vaš poslužitelj i stoga ga neće pokušati hakirati - sigurnost kroz opskurnost. To bi bilo a vrlo pogrešna pretpostavka. Budući da se (većina) SSH prometa prenosi na port 22, napadači rutinski provjeravaju vidljivost porta 22 na nasumičnim IP adresama, nakon čega slijedi napad grube sile. Ovo je jedan od načina na koji se botnetovi prave za korištenje DDOS napadi Što je DDoS napad? [MakeUseOf objašnjava]Izraz DDoS prođe kad god se cyber-aktivizam masovno digne u glavu. Ovakvi napadi dolaze u međunarodne naslove iz više razloga. Problemi koji pokreću te DDoS napade često su kontroverzni ili vrlo... Čitaj više .

Da skratimo priču: ako emitirate svoj SSH poslužitelj preko interneta (tj. prosljeđuje port 22), onda da, ovo je za vas.

Ideja SSH prijava na temelju ključa

SSH prijave temeljene na ključu oslanjaju se na ideju kriptografija s javnim ključem. Odvelo bi nas predaleko da objašnjavamo zamršenosti, ali pokušat ćemo oslikati jednostavnu sliku onoga što se događa iza kulisa.

U postupku u nastavku, vaše klijentsko računalo generira dva ključa: javni ključ i privatni ključ. Opća ideja je da podatke možete šifrirati javnim ključem, ali ih samo dešifrirati privatnim ključem. Stavit ćemo javni ključ na poslužitelj i zatražiti od njega da šifrira svu odlaznu komunikaciju s njim. To osigurava da samo oni klijenti s privatnim ključem mogu dešifrirati i čitati podatke.

1. Instalirajte OpenSSH

Prvo ćemo postaviti SSH poslužitelj koristeći OpenSSH. Ako već imate pokrenut SSH poslužitelj i samo želite znati kako postaviti autentifikaciju temeljenu na ključu, možete preskočiti ovaj korak. Koristite svoj omiljeni upravitelj paketa za instaliranje OpenSSH poslužiteljske aplikacije. Najjednostavniji način bi ipak mogao biti pokretanje apt-dobiti naredba s terminala.

sudo apt-get install openssh-server

Unesite svoju lozinku, potvrdite je i pričekajte minutu da završi instalaciju. Čestitamo, sada imate SSH poslužitelj. (To je bilo lako!)

ubuntu-install-openssh

Možete koristiti aplikaciju kakva jest ili urediti /etc/ssh/sshd_config da ga konfigurirate. Pokrenite čovjek sshd_config naredbu u terminalu da biste dobili više informacija. Još jedan sjajan izvor za saznanje više o OpenSSH-u je relevantna stranica pomoći za Ubuntu.

2. Generirajte ključeve

Napravit ćemo skup ključeva. Pokrenite sljedeće naredbe (prilagođene iz OpenSSH/Ključevi stranica pomoći za Ubuntu).

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Prva naredba stvara skriveni direktorij '.ssh' u vašoj početnoj mapi, druga naredba mijenja dopuštenja pristupa mapi dok treća naredba zapravo generira skup RSA tipke. Prvo će se od vas tražiti mjesto za spremanje ključeva (ostavite prazno i ​​pritisnite enter za spremanje na zadano mjesto), a drugo za šifru.

rsa-ključ-generacija-mac

Ova šifra dodatno šifrira privatni ključ koji je pohranjen na vašem računalu, u biti vam daje više vremena da osigurate SSH poslužitelj ako vam se privatni ključ ikada ukrade. Provjerite jeste li odabrali šifru koju možete zapamtiti jer ćete je morati unijeti kada pokušate upotrijebiti svoj ključ.

3. Prijenos javnog ključa

Zatim ćete morati prenijeti javni ključ koji ste generirali u prethodnom koraku na računalo SSH poslužitelja. Ako vaš klijentski stroj također pokreće Linux, to se može vrlo lako postići pokretanjem donje naredbe (zamjena i za korisničko ime i IP adresu na vašem SSH poslužitelju).

ssh-kopija-id @

Ako vaš klijent ne podržava naredbu ssh-copy-id, umjesto toga možete koristiti naredbu u nastavku. Malo je zamršeniji, ali u biti postiže iste rezultate.

mačka ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; mačka >> ~/.ssh/authorized_keys"

Od vas će se tražiti da unesete korisničku lozinku za SSH poslužitelj. Ako se naredbe izvrše bez pogrešaka, vaš će javni ključ biti kopiran na poslužitelj.

4. Onemogućite provjeru autentičnosti lozinkom

Primijetite da vaš sustav još uvijek nije sigurniji nego nakon prvog koraka. Iako je barem jedan klijent konfiguriran da koristi provjeru autentičnosti temeljenu na ključu, to još uvijek ostavlja prostora drugim klijentima da se povežu pomoću lozinke. Za kraj, potpuno ćemo onemogućiti provjeru autentičnosti lozinkom. Nakon ovog koraka, samo računala koja su prošla gore navedeni proces mogu se spojiti na vaš SSH poslužitelj.

Da biste onemogućili provjeru autentičnosti lozinkom, uredite /etc/ssh/sshd_config datoteku u svom omiljenom uređivaču. Jedan od najjednostavnijih načina za uređivanje ograničene datoteke je, opet, korištenje terminala. (Sklonim se nano, ali možete koristiti ono što vam najviše odgovara.)

sudo nano /etc/ssh/sshd_config

Naći ćete oko 40 redaka od dna datoteke

#Provjera autentičnosti lozinkom da

Uklonite znak broja (#) i promijenite postavku u "ne", kao u nastavku.

Password Authentication br

Konačna datoteka bi trebala izgledati otprilike ovako:

sshd_config

Spremite datoteku pritiskom na CTRL+X. Potvrdite uređivanje i naziv datoteke i skoro ste gotovi. Samo ponovno pokrenite SSH poslužitelj da biste ga pokrenuli s ovim novim postavkama.

sudo ponovno pokrenite ssh

Također ćete primijetiti da će vaš klijent prestati tražiti šifru za dešifriranje vašeg ključa ako je provjera autentičnosti lozinke onemogućena na poslužitelju. Sada kada imate siguran SSH poslužitelj, kako ga namjeravate koristiti? Kao siguran poslužitelj datoteka, udaljena ljuska ili za prosljeđivanje drugih usluga putem SSH-a? Javite nam u odjeljku za komentare u nastavku!

Kredit za sliku: Shutterstock

Ja sam pisac i student informatike iz Belgije. Uvijek mi možete učiniti uslugu dobrom idejom za članak, preporukom knjige ili idejom za recept.