FreeBSD Jail и SSH - / dev / tty: нет такого файла или каталога - PullRequest
1 голос
/ 22 августа 2010

Когда я пытаюсь подключиться через SSH изнутри тюрьмы, я получаю эту ошибку:

# ssh test@test.com
...
debug1: read_passphrase: can not open / dev / tty: No such file or directory
Host key verification failed.

За пределами тюрьмы все работает правильно. Есть идеи?

Шаги для воспроизведения:

# jls
JID  IP Address      Hostname                      Path
1     10.10.3.1       demo.example.com             /jails/demo

# jexec 1 tcsh

(inside jail:)
# ssh test@test.com

Ответы [ 3 ]

6 голосов
/ 10 сентября 2010

Есть ли у вашего jail-корня заполненная файловая система / dev через монтирование devfs?Похоже, что сейчас это не так.

Важное примечание: Вы должны иметь возможность использовать правила devfs для ограничения устройств, видимых для заключенных в тюрьму процессов.В частности, доступ к узлам необработанных дисковых устройств - это плохая идея.Справочная страница jail (8) описывает это около следующего абзаца:

Важно, чтобы только соответствующие узлы устройств в devfs были доступны для тюрьмы;доступ к дисковым устройствам в тюрьме может позволить процессам в тюрьме обойти изолированную программную среду тюрьмы путем изменения файлов за пределами тюрьмы.См. devfs (8) для получения информации о том, как использовать правила devfs для ограничения доступа к записям в per-jail devfs.Простой набор правил devfs для джейлов доступен как набор правил № 4 в /etc/defaults/devfs.rules.

Вы должны иметь возможность монтировать devfs в /jails/demo/dev и применять рекомендуемые правила для устройств тюрьмы, выполнив root следующие команды:

# mkdir /jails/demo/dev
# mount -t devfs devfs /jails/demo/dev
# devfs -m /jails/demo/dev rule -s 4 applyset

Конечно, вы также можете написать собственный набор правил в /etc/defaults/devfs.rules, даже специальный набор правил devfs, который применяется только к определенной тюрьме.

Подробнее см. Также справочные страницы для jail (8) , devfs (8) и devfs.rules (5) .

1 голос
/ 10 ноября 2010

Файловая система devfs, вероятно, не смонтирована в вашей тюрьме.Многие вещи потерпят неудачу, не только ssh.

Чтобы автоматически смонтировать правильно отфильтрованные devfs, лучше всего использовать переменные rc.conf:

jail_enable = YES

jail_list = "JAILNAME"

jail_devfs_enable = YES

jail_JAILNAME_rootdir = '/ jails / demo'

jail_JAILNAME_hostname = "demo"

"демо"

* Затем вы можете остановить / остановить его, используя "/etc/rc.d/jail start demo", e
1 голос
/ 13 октября 2010

Вы также можете испытать это, если попали в тюрьму с помощью команды тюрьмы.Если вы запустите джейл и SSH, вам повезет больше.

...