Di dunia kita ada banyak, banyak rahasia… Sejujurnya saya rasa saya tidak bisa belajar cukup untuk mengetahui sebagian besar darinya, dan ini diberikan oleh fakta sederhana bahwa Linux memungkinkan kita untuk melakukan begitu banyak, tetapi begitu banyak hal yang sulit bagi kita untuk mengetahui semuanya.
Kali ini saya akan menjelaskan kepada Anda cara melakukan sesuatu yang sangat berguna, sesuatu yang perlu dilakukan oleh banyak administrator jaringan atau sistem, dan merasa sulit untuk tidak menemukan cara yang cukup sederhana untuk mencapainya:
Bagaimana menghubungkan pengguna kandang melalui SSH
kandang? … WTF!
Ya, jika karena alasan apapun kita harus memberikan akses SSH kepada teman kita ke komputer (atau server) kita, kita harus selalu menjaga keamanan dan stabilitas komputer atau server kita.
Kebetulan baru-baru ini kami ingin memberikan Perseus SSH akses ke server kami, tetapi kami tidak dapat memberinya jenis akses apa pun karena kami memiliki konfigurasi yang sangat sensitif di sana (kami telah mengumpulkan banyak hal, paket yang telah kami instal secara individual, dll. .) Apakah saya mencoba membuat perubahan sekecil apa pun ke server, ada kemungkinan semuanya akan sia-sia hehe.
Kemudian, Cara membuat pengguna dengan hak istimewa yang sangat terbatas, sedemikian rupa sehingga dia bahkan tidak bisa keluar dari kandangnya (rumah)?
Mari kita mulai dengan mengunduh penjara, alat yang memungkinkan kita melakukan ini:
1. Pertama kita harus mengunduh server JailKit kita.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Kemudian kita harus mengekstrak paket dan masuk ke folder yang baru saja muncul:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Kemudian kami melanjutkan untuk mengkompilasi dan menginstal perangkat lunak (Saya meninggalkan Anda tangkapan layar):
./configure
make
make install
4. Siap, ini sudah terpasang. Sekarang kita melanjutkan untuk membuat kandang yang akan berisi pengguna di masa mendatang, dalam kasus saya, saya membuatnya di: / opt / dan menyebutnya "jail", jadi jalurnya adalah: / opt / jail :
mkdir /opt/jail
chown root:root /opt/jail
5. Kandang sudah dibuat, tetapi tidak memiliki semua peralatan yang diperlukan sehingga pengguna yang akan datang dapat bekerja tanpa masalah. Maksud saya, sampai saat ini kandang dibuat, tapi itu hanya kotak kosong. Sekarang kita akan memasukkan beberapa alat yang dibutuhkan pengguna yang dikurung di dalam sangkar:
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. Siap, kandangnya ada dan sudah memiliki alat untuk digunakan pengguna ... sekarang kita hanya perlu ... pengguna! Mari buat pengguna kira dan kami akan memasukkannya ke dalam kandang:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
Jika Anda memperhatikan bahwa tidak ada yang seperti tangkapan layar yang muncul, Anda pasti telah melakukan sesuatu yang salah. Tinggalkan komentar di sini dan saya akan dengan senang hati membantu Anda.
7. Dan voila, pengguna sudah dikurung ... tetapi, dia SANGAT dikurung, bahwa dia tidak dapat terhubung dengan SSH, karena ketika dia mencoba untuk menghubungkan server tidak membiarkannya:
8. Untuk memungkinkan pengguna terhubung, kita harus melakukan satu langkah lagi.
Kita harus mengedit file etc / passwd dari sangkar, yaitu, dalam kasus ini / opt / jail / etc / passwd , di dalamnya kita mengomentari baris pengguna yang kita buat, dan menambahkan yang baru seperti:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Artinya, kami akan memiliki file seperti ini 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
Perhatikan tanda baca duplikat dan lainnya, penting untuk tidak menghilangkannya
Setelah melakukan ini, pengguna dapat masuk tanpa masalah 😀
Dan itu saja.
Alat yang kami gunakan untuk semua ini (penjara) digunakan di backend chroot, yang sebenarnya digunakan oleh hampir semua tutorial. Namun menggunakan JailKit menjadi lebih mudah untuk mengurung 😉
Jika seseorang memiliki masalah atau ada yang salah, tinggalkan sedetail mungkin, saya tidak menganggap diri saya seorang ahli tetapi saya akan membantu Anda semaksimal mungkin.
maka itu akan menjadi sesuatu seperti izin di FTP? menarik
Anda selalu menemukan semua yang Anda bahkan tidak tahu ada, seperti pengguna di mysql xD
Tidak juga, karena SSH tidak sama dengan FTP. SSH adalah shell, yaitu terminal ... Anda akan berada di terminal di komputer atau server lain, Anda dapat menjalankan perintah, memulai proses, dll ... Anda akan melakukan sebanyak yang diizinkan oleh administrator server 😉
hahahahahaha nah ayolah, yang terjadi adalah saya lebih banyak mempublikasikan hal-hal teknis ... yaitu, saya suka mempublikasikan hal-hal kecil yang tidak begitu populer dan menarik. Sebagai contoh, saya pribadi tidak berencana untuk menerbitkan sesuatu pada hari Ubuntu baru keluar, karena saya yakin banyak yang sudah membicarakannya ... namun, apa yang Anda baca di sini di pos, bukankah itu sesuatu yang dibaca setiap hari atau tidak? 😀
Kontribusi yang sangat bagus terima kasih
ada juga protokol yang disebut sftp yang merupakan ftp dan Secure Shell bersama-sama, meskipun tidak sama dengan menjalankan FTP melalui SSH: \
salam
Ya ya memang, tetapi dengan mengurung SSH saya otomatis mengurung siapa pun yang terhubung menggunakan SFTP, karena seperti yang Anda katakan, SFTP sebenarnya adalah SSH + FTP 😀
salam
Gambar tidak bisa dilihat !!! 🙁
Sedikit kesalahan saya hehe, beritahu saya sekarang 😀
Siap. Terima kasih 😀
sangat bagus, saya menunjukkannya ke favorit saya agar tersedia saat saya membutuhkannya lol
Terima kasih, ada pertanyaan atau masalah kami di sini untuk membantu Anda 🙂
Mereka memiliki Perseus di dalam kandang. http://i.imgur.com/YjVv9.png
Lol
xD
Apa kabar.
Anda tahu, ini adalah topik yang saya tidak begitu paham dan saya telah memeriksanya di BSD (PC-BSD dan Ghost BSD) dan menurut saya sangat menarik dan dengan fungsionalitas yang bisa sangat berguna.
Saya akan menyimpannya untuk referensi dan memeriksanya dengan dokumen BSD. Terima kasih untuk informasi.
Saya juga tidak terbiasa dengan ini karena saya tidak pernah berpikir untuk memberikan akses SSH ke salah satu server saya kepada seseorang haha, tetapi ketika saya merasa perlu untuk melakukannya, saya ingin memberikan akses tetapi tanpa kemungkinan bahwa secara tidak sengaja seseorang melakukan sesuatu yang tidak harus 😀
Saya belum pernah mencoba ini di sistem BSD, jadi saya tidak bisa memberi tahu Anda bahwa ini akan berhasil, tetapi jika Anda mencari cara chroot di BSD, sesuatu akan keluar 😉
Terima kasih atas komentar teman 🙂
Halo, saya menggunakan FreeBSD dan tentu saja jailkit sebenarnya bekerja di port ini
Anda menginstalnya dengan perintah ini
cd / usr / ports / shells / jailkit / && membuat instalasi bersih
Atau dengan paket ftp
pkg_add -r jailkit
Hanya di konfigurasi (kira: x: 1003: 1003 :: / home / kira: / bin / bash)
Anda perlu menambahkan tcsh atau sh, kecuali Anda telah menginstal bash dan menambahkan jalur ini
/ usr / local / bin / bash
Dan beberapa detail lebih lanjut, di Ghost BSD ini seharusnya proses serupa bahkan lebih mudah karena berbasis FreeBSD
salam
Bagus, saya sedang mencarinya; apakah Anda tahu apakah itu berfungsi di Centos ??; Terima kasih.
Saya belum mengujinya di Centos, tetapi ya, itu harus berfungsi :)
Sebenarnya saya ingat bahwa beberapa orang telah menggunakan alat yang sama ini di server Centos dan Red Hat 😉
Terima kasih banyak. Ini langsung menuju ke bookmark.
Terima kasih telah berkomentar 🙂
"Trik" yang sangat bagus, sangat berguna untuk administrator sys. Tetapi bahkan lebih baik, ditulis dengan sangat baik. Apa lagi yang Anda inginkan.
Terima kasih banyak untuk kontribusi.
Terima kasih, terima kasih banyak atas komentar Anda 😀
salam
Puji SSH haha
Saya pernah mencoba membuat sangkar untuk ssh tetapi dengan gaya tradisional dan kenyataannya adalah tidak pernah keluar dengan benar. Jika sangkar berjalan, ia bahkan tidak memiliki bash, yaitu terhubung dan tidak ada yang tersisa haha, jika cangkang berjalan, ia bisa naik dalam hierarki direktori dan lebih banyak lagi quilombos haha tapi jailkit ini adalah gada, ia mengotomatiskan semua hal itu ... Sangat disarankan
haha terima kasih.
Ya, sebenarnya SSH adalah keajaiban untuk apa yang memungkinkan kita, yang sebenarnya tidak lebih dari apa yang diizinkan oleh sistem jadi ... hore untuk Linux! … ha ha.
Halo, ada pertanyaan!
kenapa ganti home dari (1) / opt / jail /./ home / kira ke (2) / home / kira
Kita harus mengedit file etc / passwd dari sangkar, yaitu dalam hal ini menjadi / opt / jail / etc / passwd, di dalamnya kita mengomentari baris pengguna yang kita buat, dan menambahkan yang baru seperti:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Dengan kata lain, file passwd akan terlihat seperti ini:
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
Halo 🙂
Jika itu tidak disetel, akses SSH tidak bekerja, pengguna mencoba untuk menyambung tetapi secara otomatis dikeluarkan ... tampaknya ada bug atau masalah dengan penerjemah yang dibawa JailKit, karena saat membuat perubahan ini menunjukkan bahwa ia menggunakan pesta normal sistem, semuanya bekerja.
Saya masih menutup sesi ssh: C
Suse 10.1 x64
Halo Saya telah menginstal ini dan bekerja dengan sangat baik dengan pikiran yang sangat baik di centos = D
tetapi doa saya seperti yang lalu untuk menambahkan lebih banyak perintah misalnya untuk pengguna penjara
tidak dapat menjalankan perintah svn co http://pagina.com/carpeta
Maksud saya, perintah ini tidak ada untuk pengguna jail dalam hal ini seperti yang lalu untuk menambahkan perintah ini ke jail dan masih banyak lagi yang perlu saya tambahkan.
Halo apa kabarmu?
Jika Anda ingin mengaktifkan perintah «svn» di Jail, Anda memiliki perintah jk_cp
Itu adalah:
jk_cp / opt / jail / / bin / svn
Ini dengan asumsi svn binary atau executable adalah: / bin / svn
Dan biarkan Cage / Jail menjadi: / opt / jail /
Anda akan menemukan perintah yang bergantung pada orang lain, yaitu, jika Anda menambahkan perintah «pepe» Anda akan melihat bahwa Anda juga harus menambahkan «federico», karena «pepe» bergantung pada «federico» yang akan dijalankan, jika Anda menemukannya maka tambahkan perintah yang diperlukan dan sudah 😉
Itu luar biasa, saya mengujinya pada saat yang sama, dan saya memberi tahu Anda apa yang terjadi, terima kasih banyak = D
Keberuntungan 😀
Saya telah berhasil melakukan apa yang Anda perintahkan tetapi dengan cara ini dan secara otomatis telah mendeteksi saya tanpa masalah.Ini adalah perintah yang saya gunakan untuk dapat menggunakan subverisi.
jk_cp -j / home / jaul svn
Saya menggunakan centos xP dan mungkin berbeda tapi bagus
sekarang saya ingin tahu library mana yang seperti svn tetapi sekarang saya ingin mengkompilasi karena katakanlah saya perlu menggunakan perintah seperti ini
./configure dan tandai kesalahan
./configure.lineno: baris 434: expr: perintah tidak ditemukan
Saya tidak akan tahu perpustakaan mana yang telah saya instal apa itu mysql dan yang lainnya jika dikompilasi di luar penjara tetapi tidak di dalam jaui.
maaf untuk ketidaknyamanannya.
ps: Anda harus memasukkan ke dalam panduan apa yang saya katakan tentang perintah yang digunakan dalam centos =) salam.
Lihat, ketika saya memberi tahu Anda bahwa itu tidak dapat menemukan perintah (seperti di sini) hal pertama adalah menemukan perintah:
whereis expr
Setelah ditemukan (/ usr / bin / expr dan / usr / bin / X11 / expr) kita salin ke Jail dengan jk_cp 😉
Coba ini untuk melihat.
Ya, saya sudah mengedit posting dan menambahkan bahwa itu berfungsi di Centos 😀
Terima kasih banyak (:
Terima kasih atas masukannya…
Hai apa kabar?
Sial! Dari Chili, salamku. Anda sama kentutnya dengan saya! LOL !. Pelukan. Pos Anda sangat membantu saya!
Terima kasih atas komentar Anda 😀
Terima kasih banyak atas kirimannya, itu banyak membantu saya, tapi sayangnya di bagian
//////////////////////////////////////////////// //// //////////////////////////////////////////// //////// //////////////////////
Kita harus mengedit file etc / passwd dari sangkar, yaitu dalam hal ini menjadi / opt / jail / etc / passwd, di dalamnya kita mengomentari baris pengguna yang kita buat, dan menambahkan yang baru seperti:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Dengan kata lain, file passwd akan terlihat seperti ini:
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
//////////////////////////////////////////////// // ////////////////////////////////////////
Itu menyebabkan kesalahan yang sama, maksud saya, saya membiarkannya apa adanya, dan itu mem-boot saya dari terminal ketika saya terhubung ,,, .., saya mengomentari baris dan menambahkan satu lagi memodifikasinya seperti yang Anda tunjukkan, dan itu juga boot saya….
Instal versi terbaru "jailkit-2.16.tar", bahkan buat skrip untuk menghemat waktu, ini dia di bawah ini:
//////////////////////////////////////////////// // ////////////////////////////////////////////
#! / bin / bash
wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar -zxvf jailkit-2.16.tar.gz
cd jailkit-2.16
. / Configure
membuat
make install
keluar
////////////////////////////////////////////////////// ///////////////////////////
Jelas pertama mereka login sebagai "root" ...
Bagaimana saya bisa mengatasi kesalahan teman ????
Maaf, saya sudah mendapatkannya, saya telah membuat kesalahan tentang folder Beranda, tetapi saya sangat ragu, bagaimana saya bisa mendapatkannya agar saya dapat menjalankan perintah "layar", saya mencoba menggunakannya (di pengguna yang dikurung) , tetapi tidak berhasil ... Hal lainnya adalah ,, bagaimana cara agar pengguna yang dikurung ini menjalankan program wine pada exe yang baru saja dia masukkan ke dalam rumahnya ,, bagaimana jadinya?
halo, tuto yang sangat bagus! Saya baru mengenal lingkungan ini, saya punya pertanyaan ...
Untuk keamanan, saya lihat di root ada banyak folder, apakah perlu? Saya hanya ingin dia memiliki akses ke foldernya (ftp-upload dan ssh-execute) untuk menjalankan aplikasi, folder apa yang bisa dia hapus dari root? atau apakah itu tidak berbahaya bagi saya? Saya menghargai bantuan Anda sebelumnya, salam!
@ KZKG ^ Gaara, syukurlah Anda menempatkan kesalahan wheezy tetapi dengan versi jailkit-2.16.tar.gz yang Anda sarankan mereka memperbaikinya
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
Saya rasa saya akan meneruskannya ke PDF, jojo .. ke sangkar dan terima kasih ya 😀
Salam teman, saya punya pertanyaan:
Misalkan kita memiliki pengguna bernama "test".
Pertanyaannya adalah, file /home/test/.ssh/known_hosts yang terletak di rumah pengguna itu, apakah itu file yang sama atau tidak dikurung pengguna?
Coba ini. Anda dapat dengan metode ini membatasi navigasi ke rumah lain dari pengguna lain.
Pertama-tama, terima kasih atas kirimannya! Itu sangat berguna bagi saya; tetapi saya memiliki dua keraguan, dan ini muncul dari skenario yang saya miliki:
Saya perlu membuat N pengguna dengan akses independen dan pribadi ke rumah mereka, setiap pengguna hanya dapat mengakses rumah mereka untuk menyimpan, mengubah, dan menghapus file yang ada di sana tanpa harus berpindah-pindah ke orang lain (saya sudah mengerti poin ini). Itu tidak membutuhkan akses melalui ssh.
1. Apakah Anda harus membuat sangkar untuk setiap pengguna, atau adakah cara untuk memiliki pengguna yang berbeda dalam sangkar yang sama tetapi masing-masing memiliki direktori "pribadi"?
2. Saat mengakses (melalui klien FTP) semua direktori yang dibuat oleh alat ditampilkan, apakah ada cara untuk menunjukkan folder bersih? Atau apakah saya melakukan sesuatu yang salah selama ini?
Tutorial yang bagus! Ini sangat membantu saya, saya mengujinya dengan versi 2.17 di Ubuntu 14.04 dan berfungsi dengan sangat baik. Sekarang saya memiliki tantangan berikut, setelah pengguna dikurung sehingga dia tidak dapat pindah ke jalur mana pun, saya ingin dia hanya dapat melihat konten file yang ada di jalur lain. Saya mencoba dengan tautan simbolis tetapi ketika mencoba membuat ekor atau kucing ke file ini memberi tahu saya bahwa itu tidak ada meskipun ketika mengakses dengan pengguna saya dapat mencantumkan file itu di rumah sangkar.
Jika Anda dapat membantu saya, saya akan sangat berterima kasih, terima kasih sebelumnya
Halo, saya telah mengikuti seluruh manual dan ketika masuk dengan ssh itu menutup secara otomatis, jejak:
4 Des 19:20:09 toby sshd [27701]: Sandi yang diterima untuk pengujian dari port 172.16.60.22 62009 ssh2
4 Des 19:20:09 toby sshd [27701]: pam_unix (sshd: session): sesi dibuka untuk uji pengguna oleh (uid = 0)
4 Des 19:20:09 toby jk_chrootsh [27864]: sekarang memasuki jail / opt / jail untuk uji pengguna (1004) dengan argumen
4 Des 19:20:09 toby sshd [27701]: pam_unix (sshd: session): sesi ditutup untuk pengujian pengguna
terima kasih
Tidak ketika saya melakukan langkah terakhir untuk memberikan akses ssh kepada pengguna, itu tetap menutup koneksi 🙁
Mungkinkah dari pengguna yang dibuat ini untuk mengubah ke root? Anda -root? itu tidak memungkinkan saya. Bagaimana jadinya? Terima kasih atas bantuan Anda
Terima kasih banyak untuk tutorialnya, saya membutuhkannya untuk membuat pengguna yang dapat menggunakan clonezilla untuk membuat gambar dan menyalinnya ke server asing tetapi tidak dapat berkerumun di mana pun dia mau
Baik! Saya ingin tahu sesuatu.
Apakah mungkin untuk masuk sebagai ROOT menggunakan FTP dan memiliki izin ini, untuk mengelolanya dengan FTP dan bukan dengan SSH? Katakanlah seperti membuat koneksi, gaya terowongan atau semacamnya. Bagaimana cara melakukannya? Konfigurasi file VSFTPD?
Terima kasih banyak!