Як я можу chroot ssh-з'єднання?


20

Я хотів би встановити в'язницю chroot для більшості (не всіх) користувачів, які ввійшли через SSH. Я чув, що це можливо з останніми версіями openssh, але мені не вдалося дізнатися, як це зробити. Як говориться про виправлення старої версії, а виправлення більше не доступне.

Я запускаю debian etch.

Відповіді:


13

Я використовую rssh для цієї мети.

Ви маєте рацію, є новий спосіб зробити це, і це вбудована функція останніх версій ssh.

Ось стаття про нежить .


6

Мені просто довелося налаштувати одного користувача, який міг би увійти через ssh та ssh на інший сервер (який безпосередньо не пов'язаний із зовнішнім світом). Посилання cstamas та ericmayo були гарним початком.

В основному я додав таке / etc / ssh / sshd_config:

Матч користувача користувача
  ChrootDirectory / chroot / myuser

З цього моменту мені просто довелося створити середовище chroot нижче / chroot / myuser. Я скопіював / bin / bash та / usr / bin / ssh та спільні бібліотеки, які їм були потрібні (ldd покаже їх). Для більш широкого середовища, мабуть, має сенс складати статично пов'язані версії необхідних виконуваних файлів.

Bash працював одразу, щоб ssh запрацював, мені також довелося створити каталог .ssh, copy / etc / passwd, /etc/nsswitch.conf та / lib / libnss_ * та створити / dev / null, / dev / tty і / dev / urandom через mknod.


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>/.

Ви повинні відредагувати / etc / sshd_config файл та додати

ChrootDirectory /chroot/%h

І перезавантажте sshd демон.

Коли говорити, я чесно думаю, що sftp - кращий варіант.

Також я знайшов цю URL-адресу, якщо вона корисна.

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


1

Якщо ви використовуєте аутентифікацію з відкритим ключем, ви можете скористатися параметром "команда" в авторизованих ключах, щоб налаштувати в'язницю chroot.

~ / .ssh / Author_keys:

command="/path/to/the/chroot/script" ssh-dss keydata.....keydata... user@host

Я не використовую аутентифікацію відкритих ключів, автентифікацію роблять паролем та ім’ям користувача
Malfist

0

Наскільки мені відомо, нові версії OpenSSH дозволяють chroot лише для SFTP-з'єднань. Я спробував, і це працює. Але для SSH можливе рішення - це патч chrootssh. Я переглядаю сайт SourceForge і файлів немає, тому я думаю, що його припинено.

Для Debian Etch є деякі файли тут: http://debian.home-dn.net/etch/ssh/

Тут є інші рішення: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , включаючи chrootssh.


-1 Вибачте, ваша відповідь була правильною років тому, коли ви її писали, але більше не є.
Кріс S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.