FreeBSD Jail и SSH - /dev/tty: нет такого файла или каталога
Когда я пытаюсь подключиться через SSH изнутри JAIL, я получаю эту ошибку:
# 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 ответа
У вашего jail-корня есть заполненная файловая система /dev через монтирование devfs? Похоже, что не сейчас.
Важное примечание: вы должны иметь возможность использовать правила devfs для ограничения устройств, видимых для заключенных в тюрьму процессов. В частности, плохой идеей является доступ к узлам необработанных дисковых устройств. Страница jail(8) описывает это в следующем абзаце:
Важно, чтобы только соответствующие узлы устройств в devfs подвергались воздействию тюрьмы; доступ к дисковым устройствам в тюрьме может позволить процессам в тюрьме обходить изолированную программную среду тюрьмы путем изменения файлов за пределами тюрьмы. См. Devfs(8) для получения информации о том, как использовать правила devfs для ограничения доступа к записям в jail devfs. Простой набор правил devfs для джейлов доступен как набор правил № 4 в
/etc/defaults/devfs.rules
,
Вы должны быть в состоянии смонтировать devfs под /jails/demo/dev
и примените рекомендуемые правила для jail-устройств, выполнив от имени 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, который применяется только к определенной тюрьме.
Для получения дополнительной информации см. Также страницы man для jail(8), devfs(8) и devfs.rules (5).
Файловая система devfs, вероятно, не смонтирована в вашей тюрьме. Многие вещи потерпят неудачу, не только ssh.
Для автоматического монтирования правильно отфильтрованных devfs лучше всего использовать переменные rc.conf:
jail_enable = ДА
jail_list = "JAILNAME"
jail_devfs_enable = ДА
jail_JAILNAME_rootdir='/ Тюрьмы / демо'
jail_JAILNAME_hostname = "демо"
Затем вы можете остановить / остановить его, используя "/etc/rc.d/jail start demo", e
Это также может произойти, если вы попали в тюрьму с помощью команды тюрьмы. Если вы запустите джейл и SSH, вам повезет больше.