U našem svijetu postoji mnogo, puno tajni ... Iskreno, mislim da ne mogu naučiti dovoljno da znam većinu njih, a to daje jednostavna činjenica da nam Linux omogućuje toliko, ali toliko stvari da je to teško ih je znati sve.
Ovaj put ću vam objasniti kako učiniti nešto izuzetno korisno, nešto što su morali učiniti mnogi mrežni ili sistemski administratori, a bilo nam je teško jednostavno ne pronaći prilično jednostavan način da to postignemo:
Kako umrežiti korisnike koji se povezuju putem SSH-a
kavez? … WTF!
Da. Ako iz bilo kojeg razloga moramo svom računalu (ili poslužitelju) omogućiti SSH pristup našem prijatelju, uvijek moramo voditi računa o sigurnosti i stabilnosti svog računala ili poslužitelja.
Događa se da smo nedavno željeli Perseusu SSH omogućiti pristup našem poslužitelju, ali ne možemo mu dati bilo kakav pristup jer tamo imamo stvarno osjetljive konfiguracije (sastavili smo mnoge stvari, pakete koje smo instalirali pojedinačno itd.) I ako netko tko ne Bez obzira pokušavam li napraviti i najmanju promjenu na poslužitelju, postoji mogućnost da će sve propasti hehe.
Zatim, Kako stvoriti korisnika s izuzetno ograničenim privilegijama, toliko da ne može izaći ni iz svog kaveza (doma)?
Krenimo s preuzimanjem zatvorski komplet, alat koji će nam to omogućiti:
1. Prvo moramo preuzeti naš JailKit poslužitelj.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Zatim moramo raspakirati paket i unijeti mapu koja se upravo pojavila:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Kasnije smo nastavili kompajlirati i instalirati softver (Ostavljam vam snimak zaslona):
./configure
make
make install
4. Spremno, ovo je već instalirano. Sada nastavljamo s stvaranjem kaveza koji će sadržavati buduće korisnike, u mom slučaju sam ga kreirao u: / opt / i nazvao ga "zatvor", pa bi put bio: / opt / zatvor :
mkdir /opt/jail
chown root:root /opt/jail
5. Kavez je već stvoren, ali nema sve potrebne alate kako bi budući korisnici koji će biti tamo mogli raditi bez problema. Mislim, do sada je kavez stvoren, ali to je samo prazan okvir. Sada ćemo u kavez staviti neke alate koji će trebati korisnicima u kavezu:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. Spremno, kavez postoji i već ima alate koje bi korisnik mogao koristiti ... sada nam treba samo ... korisnik! Stvorimo korisnika Kira i stavit ćemo ga u kavez:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
Ako primijetite da se ne pojavljuje ništa poput snimke zaslona, sigurno ste učinili nešto pogrešno. Ostavite komentar ovdje i rado ću vam pomoći.
7. I voila, korisnik je već u kavezu ... ali, TAKO je u kavezu, da se ne može povezati SSH-om, jer kada se pokušava povezati, poslužitelj mu to ne dopušta:
8. Da bismo omogućili korisniku povezivanje, moramo napraviti još jedan korak.
Moramo urediti datoteku etc / passwd kaveza, to jest, u ovom slučaju bi to bilo / opt / jail / etc / passwd , u njemu komentiramo korisničku liniju koju smo stvorili i dodajemo novu poput:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Odnosno, imali bismo ovakav spis passwd:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Dobro primijetite duplikate interpunkcijskih znakova i ostalih, važno je da ne ispustite nijedan od njih 🙂
Nakon toga korisnik može bez problema ući 😀
I to je sve.
Alat koji koristimo za sve ovo (zatvorski komplet) koristiti u pozadini chroot, što je zapravo ono što se koriste gotovo svi vodiči. Međutim, pomoću JailKita postaje jednostavnije smjestiti u kavez 😉
Ako netko ima problem ili nešto nije u redu, ostavite što više detalja, ne smatram se stručnjakom, ali pomoći ću vam koliko mogu.
onda bi to bilo nešto poput dozvola u FTP-u? zanimljiv
uvijek izađete sa svime za što niste ni znali da postoji, poput korisnika u mysql xD
Ne baš, jer SSH nije isto što i FTP. SSH je ljuska, odnosno terminal ... bili biste u terminalu na drugom računalu ili poslužitelju, mogli biste izvršavati naredbe, pokretati procese itd. ... učinili biste onoliko koliko vam administrator poslužitelja dozvoli 😉
hahahahahaha ne, hajde, događa se to što objavljujem više tehničkih stvari ... odnosno volim objavljivati sitnice koje nisu toliko popularne i zanimljive. Na primjer, osobno ne planiram objaviti nešto na dan kada novi Ubuntu izađe, jer vjerujem da će mnogi o tome već razgovarati ... međutim, ono što ste pročitali ovdje u postu, nije li nešto što se čita svaki dan ili ne? 😀
Vrlo dobri doprinosi hvala
postoji i protokol zvan sftp koji je zajedno ftp i Secure Shell, iako to nije isto kao pokretanje FTP-a preko SSH: \
pozdravi
Da da zaista, ali stavljanjem SSH u kavez automatski postavljam kaveza u mrežu onoga tko se poveže pomoću SFTP-a, jer kao što kažete, SFTP je zapravo SSH + FTP 😀
pozdravi
Slike se ne mogu vidjeti !!! 🙁
Moja mala greška hehe, reci mi odmah 😀
Spreman. Hvala 😀
vrlo dobro, usmjeravam ga prema svojim favoritima da bude dostupan kad mi zatreba, hahaha
Hvala vam, bilo kakvih pitanja ili problema, ovdje smo da vam pomognemo 🙂
Imaju Perzeja u kavezu. http://i.imgur.com/YjVv9.png
LOL
xD
Kako si.
Znate, to je tema s kojom nisam dobro upoznat i koju sam provjeravao u BSD-u (PC-BSD i Ghost BSD) i smatram je vrlo zanimljivom i s funkcionalnostima koje mogu biti vrlo korisne.
Zadržat ću ga za referencu i provjeriti u skladu s BSD dokumentom. Zahvaljujem na informaciji.
Ni ja nisam bio upoznat s ovim, jer nikada nisam mislio nekome dati SSH pristup bilo kojem od mojih poslužitelja haha, ali kad sam ustanovio da je to potrebno, želio sam dati pristup, ali bez mogućnosti da netko zabunom učini nešto što ne mora 😀
Nikad ovo nisam isprobao na BSD sustavima, pa vam ne mogu reći da će to uspjeti, ali ako tražite kako chrootati na BSD-u, trebalo bi nešto izaći 😉
Hvala na komentaru prijatelju 🙂
Pozdrav, koristim FreeBSD i, naravno, jailkit zapravo radi ovaj u lukama
Instalirate ga ovom naredbom
cd / usr / ports / shells / jailkit / && čine instalaciju čistom
Ili ftp paketom
pkg_add -r jailkit
Samo u konfiguraciji (kira: x: 1003: 1003 :: / home / kira: / bin / bash)
Morate dodati tcsh ili sh, osim ako niste instalirali bash i dodajte ovu stazu
/ usr / local / bin / bash
I još nekoliko detalja, u Ghost BSD-u trebao bi biti sličan postupak još jednostavniji jer se temelji na FreeBSD-u
pozdravi
Super, tražio sam to; znate li da li to radi u Centosu ?? Hvala.
Nisam ga testirao na Centosu, ali da, trebalo bi raditi :)
Zapravo, sjećam se da je nekoliko njih koristilo isti alat na poslužiteljima Centos i Red Hat
Hvala puno. Ide izravno na oznake.
Hvala vam što ste komentirali 🙂
Vrlo dobar "trik", super koristan za sys administratore. Ali još bolje, izvrsno dobro napisano. Što biste još mogli poželjeti.
Puno vam hvala na doprinosu.
Hvala, puno hvala na komentaru 😀
pozdravi
Pohvalite SSH haha
Jednom sam pokušao napraviti kavez za ssh, ali u tradicionalnom stilu i istina je da nikad nije izašao ispravno. Ako je kavez bio pokrenut, nije imao ni basha, odnosno povezao se i nije ostalo ništa haha, ako je ljuska radila, mogla bi se popeti u hijerarhiju direktorija i puno više quilomboha haha, ali ovaj jailkit je buzdovan, automatizira sve te stvari ... Toplo preporučljivo
haha hvala.
Da, zapravo SSH je sve čudo za ono što nam omogućuje, što zapravo nije ništa više od onoga što sustav dopušta pa ... ura za Linux! ... haha.
Pozdrav, pitanje!
zašto promijeniti dom iz (1) / opt / jail /./ home / kira u (2) / home / kira
Moramo urediti datoteku etc / passwd kaveza, to jest, u ovom slučaju to bi bilo / opt / jail / etc / passwd, u njoj komentiramo korisničku liniju koju smo stvorili i dodamo novu poput:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Drugim riječima, datoteka passwd izgledala bi ovako:
root: x: 0: 0: root: / root: / bin / bash
(1) #kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
(2) kira: x: 1003: 1003 :: / home / kira: / bin / bash
Pozdrav 🙂
Ako to nije postavljeno, SSH pristup ne radi, korisnik se pokušava povezati, ali se automatski izbacuje ... čini se da je riječ o grešci ili problemu s interpretatorom koji JailKit donosi, jer prilikom uvođenja ove promjene koja ukazuje da koristi normalni bash sustava, sve funkcionira.
Još uvijek zatvaram ssh sesiju: C
Suse 10.1 x64
Pozdrav, ovo sam instalirao i izvrsno funkcionira u centos = D
ali moj je dua kao prije da dodam više naredbi, na primjer korisniku zatvora
ne može pokrenuti svn co naredbu http://pagina.com/carpeta
Mislim, ova naredba ne postoji za korisnike zatvora u ovom slučaju kao prije, da bi te naredbe dodali u zatvor, a ima još mnogo toga što trebam dodati.
Bok, kako si?
Ako želite omogućiti naredbu «svn» u zatvoru, imate naredbu jk_cp
To je:
jk_cp / opt / jail / / bin / svn
Ovo pod pretpostavkom da je svn binarni ili izvršni: / bin / svn
I neka Kavez / zatvor bude: / opt / jail /
Pronaći ćete naredbe koje ovise o drugima, odnosno ako dodate naredbu «pepe», vidjet ćete da morate dodati i «federico», jer «pepe» ovisi o «federico» koji će se izvršiti, ako to pronađete onda dodajte potrebne naredbe i već 😉
To je izvrsno, trenutno ga testiram i kažem vam što se dogodilo, puno hvala = D
Sreća 😀
Uspio sam učiniti ono što ste mi rekli, ali na ovaj način i automatski me otkrio bez ikakvih problema. Ovo je bila naredba kojom sam mogao koristiti subverziju.
jk_cp -j / home / jaul svn
Pa koristim centos xP i možda je drugačiji, ali dobar
sada bih želio znati koje su to biblioteke poput svn, ali sada bih volio kompajlirati jer recimo da trebam koristiti takvu naredbu
./konfiguriraj i označi pogrešku
./configure.lineno: redak 434: expr: naredba nije pronađena
Ne bih znao koje su biblioteke koje sam već instalirao ono što je mysql i druge ako se kompilira izvan zatvora, ali ne i unutar jauija.
Oprostite na neugodnosti.
ps: trebali biste u vodič staviti ono što sam vam rekao o naredbi korištenoj u pozdravu centos =).
Gledajte, kad vam kažem da ne može pronaći naredbu (kao ovdje), prva stvar je pronaći naredbu:
whereis expr
Jednom pronađeni (/ usr / bin / expr i / usr / bin / X11 / expr) kopiramo ga u zatvor sa jk_cp 😉
Pokušajte ovo da vidite.
Da, već uređujem post i dodajem da to radi u Centosu 😀
Veliko hvala (:
Hvala na unosu ...
Bok, kako si?
Jebi se frajeru! Iz Čilea moj pozdrav. Prdan si kao i ja! LOL!. Zagrljaji. Vaša objava mi je bila od velike pomoći!
Hvala na komentaru 😀
Hvala vam puno na postu, puno mi je pomogao, ali nažalost u dijelu
//////////////////////////////////////////////////// //// //////////////////////////////////////////////// //////// ////////////////////////
Moramo urediti datoteku etc / passwd kaveza, to jest, u ovom slučaju to bi bilo / opt / jail / etc / passwd, u njoj komentiramo korisničku liniju koju smo stvorili i dodamo novu poput:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Drugim riječima, datoteka passwd izgledala bi ovako:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
//////////////////////////////////////////////////// // //////////////////////////////////////////////
To uzrokuje istu pogrešku, mislim, ostavljam je takvu kakva jest i podiže me s terminala kad se povežem ,,, .., komentiram liniju i dodam još jednu modificirajući kako vi naznačite, a također također čizme ...
Instalirajte najnoviju verziju "jailkit-2.16.tar", čak i stvorite skriptu kako biste uštedjeli vrijeme, evo dolje:
//////////////////////////////////////////////////////// //////////////////////////////////////////////////
#! / bin / bash
wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar -zxvf jailkit -2.16.tar.gz
cd jailkit-2.16
. / Konfiguracija
napraviti
make install
izlaz
//////////////////////////////////////////////////// // ///////////////////////////////
Očito se prvo prijavljuju kao "root" ...
Kako bih mogao riješiti pogrešku prijatelju ????
Žao mi je, već sam shvatio, pogriješio sam u vezi s mapom Početna, ali imam veliku sumnju, kako mogu to dobiti da mi dozvoli izvršavanje naredbe "screen", pokušavam je koristiti (u kaveznom korisniku) , ali ne uspijeva ... Druga stvar je to, kako mogu natjerati ovog korisnika u kavezu da vodi vinski program na exeu koji je upravo stavio u svoj dom, kako bi to bilo?
bok, jako dobar tuto! Ja sam nov u tim sredinama, imam pitanje ...
Što se tiče sigurnosti, vidim da u svom korijenu ima mnogo mapa, jesu li potrebne? Samo želim da ima pristup svojoj mapi (ftp-upload i ssh-execute) za pokretanje aplikacije, koje bi mape mogao izbrisati iz korijena? ili mi ne predstavlja nikakvu opasnost? Cijenim vašu pomoć unaprijed, pozdrav!
@ KZKG ^ Gaara, hvala Bogu da ste stavili greškavu grešku, ali s verzijom jailkit-2.16.tar.gz za koju ste sugerirali da su je popravili
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
Mislim da ću ga proslijediti u PDF, jojo .. u kavez i hvala wn 😀
Pozdrav prijatelju, imam pitanje:
Pretpostavimo da imamo korisnika pod nazivom "test".
Pitanje je, datoteka /home/test/.ssh/known_hosts koja se nalazi u kući tog korisnika, je li to ista datoteka ili nije korisnik u kavezu?
Pokušaj ovo. Ovom metodom možete ograničiti navigaciju na drugi dom ostalih korisnika.
Prije svega, hvala na postu! Jako mi je korisno; ali imam dvije sumnje, a one proizlaze iz scenarija koji imam:
Moram stvoriti N korisnika s neovisnim i privatnim pristupom njihovom domu, svaki korisnik može pristupiti svom domu samo za deponiranje, izmjenu i brisanje datoteka koje se tamo nalaze, bez potrebe za premještanjem drugima (to već imam). Ne zahtijeva pristup putem ssh-a.
1. Morate li stvoriti kavez za svakog korisnika ili postoji način da različiti korisnici budu u istom kavezu, ali svaki ima svoj "privatni" direktorij?
2. Kada se pristupaju (putem FTP klijenta) prikazuju svi direktoriji stvoreni alatom, postoji li način da se mapa prikaže na čist način? Ili sam usput nešto pogriješio?
Izvrsna lekcija! To mi je bilo od velike pomoći, testiram ga s verzijom 2.17 na Ubuntu 14.04 i djeluje jako dobro. Sada imam sljedeći izazov, nakon što se korisnik stavi u kavez tako da se ne može premjestiti ni na jednu stazu, želim da može vidjeti samo sadržaj datoteke koja se nalazi na drugoj putanji. Pokušao sam sa simboličnom vezom, ali kada pokušavam napraviti rep ili mačku za ovu datoteku, kaže mi da ona ne postoji, iako mogu pri pristupu s korisnikom tu datoteku navesti u kući kaveza.
Ako biste mi mogli pomoći, bio bih vam zahvalan unaprijed
Pozdrav, slijedio sam cijeli priručnik i prilikom prijave ssh-om automatski se zatvara, tragovi:
4. prosinca 19:20:09 toby sshd [27701]: Prihvaćena lozinka za test s porta 172.16.60.22 port 62009 ssh2
4. prosinca 19:20:09 toby sshd [27701]: pam_unix (sshd: session): sesiju je otvorio za korisnički test korisnik (uid = 0)
4. prosinca 19:20:09 toby jk_chrootsh [27864]: sada ulazi u zatvor / opt / zatvor za test korisnika (1004) s argumentima
4. prosinca 19:20:09 toby sshd [27701]: pam_unix (sshd: session): sesija zatvorena za korisnički test
hvala
Ne kad učinim zadnji korak davanju ssh pristupa korisniku, on i dalje zatvara vezu 🙁
Može li ovaj stvoreni korisnik omogućiti promjenu u root? tvoj -korijen? ne dopušta mi. Kako bi bilo? Hvala na pomoći
Puno vam hvala na vodiču, trebao mi je kako bih stvorio korisnika koji bi mogao koristiti clonezilla za izradu slike i kopiranje na strani poslužitelj, ali koji se nije mogao rojiti gdje god je želio
Dobro! Trebao bih nešto znati.
Je li moguće ući kao ROOT koristeći FTP i imajući ta dopuštenja, upravljati njime putem FTP-a, a ne pomoću SSH-a? Recimo poput stvaranja veze, stila tunela ili nečeg sličnog. Kako se to radi? Konfiguriranje VSFTPD datoteke?
Puno ti hvala!