Bagaimana saya bisa chroot koneksi ssh?

20

Saya ingin mengatur jail chroot untuk sebagian besar (tidak semua) pengguna yang masuk melalui SSH. Saya pernah mendengar bahwa itu mungkin dengan versi openssh terbaru, tetapi saya tidak dapat menemukan cara melakukannya. Cara semua berbicara tentang menambal versi lama, dan tambalan tidak lagi tersedia.

Saya menjalankan debian etch.

Malfist
sumber

Jawaban:

13

Saya menggunakan rssh untuk tujuan ini.

Anda benar ada cara baru untuk melakukannya dan ini merupakan fitur bawaan dari versi ssh terbaru.

Ini adalah artikel tentang Undeadly .

cstamas
sumber
6

Saya hanya perlu mengatur satu pengguna yang dapat masuk melalui ssh dan ssh ke server lain (yang tidak terhubung langsung ke dunia luar). Link oleh cstamas dan ericmayo adalah awal yang baik.

Pada dasarnya, saya menambahkan yang berikut ini ke / etc / ssh / sshd_config:

Cocokkan Pengguna pengguna
  ChrootDirectory / chroot / myuser

Dari sana, saya hanya perlu membuat lingkungan chroot di bawah / chroot / myuser. Saya menyalin / bin / bash dan / usr / bin / ssh dan shared library yang mereka butuhkan (ldd akan menunjukkannya). Untuk lingkungan yang lebih besar, mungkin masuk akal untuk mengkompilasi versi-versi executable yang diperlukan yang terhubung secara statis.

Bash langsung bekerja, agar ssh dapat berfungsi, saya juga harus membuat direktori .ssh, salin / etc / passwd, /etc/nsswitch.conf dan / lib / libnss_ * dan buat / dev / null, / dev / tty dan / dev / urandom via mknod.

Marie Fischer
sumber
2
mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

Anda harus mengedit file / etc / sshd_config dan addd

ChrootDirectory /chroot/%h

Dan restart daemon sshd.

Semua dikatakan, saya benar-benar berpikir bahwa sftp adalah pilihan yang lebih baik.

Juga, saya menemukan url ini jika itu membantu.

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229

Soham Chakraborty
sumber
1

Jika Anda menggunakan otentikasi kunci publik, Anda bisa menggunakan opsi "perintah" pada kunci yang diotorisasi untuk mengatur chroot jail.

~ / .ssh /otorized_keys:

command="/path/to/the/chroot/script" ssh-dss keydata.....keydata... user@host
UloPe
sumber
Saya tidak menggunakan otentikasi kunci Publik, otentikasi dilakukan oleh kata sandi dan nama pengguna
Malfist
0

Sejauh yang saya tahu versi baru OpenSSH hanya memungkinkan chroot untuk koneksi SFTP. Saya mencoba dan berhasil. Tetapi untuk SSH solusinya adalah patch chrootssh. Saya menjelajahi situs SourceForge dan tidak ada file jadi saya pikir dihentikan.

Untuk Debian Etch ada beberapa file di sini: http://debian.home-dn.net/etch/ssh/

Ada solusi lain di sini: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , termasuk chrootssh.

hdanniel
sumber
-1 Maaf, Jawaban Anda benar tahun lalu ketika Anda menulisnya, tetapi tidak lagi.
Chris S