Я пытаюсь изолировать одних пользователей от других пользователей, что требует либо виртуализации, либо тюремного заключения. На данный момент я использую тюрьму, которая в основном работает нормально, за исключением одной проблемы: пользователи с chroot не могут использовать аутентификацию по ключу pub/priv.
Насколько я понимаю, SSH-сервер работает так:
- Аутентифицируйте пользователя с помощью пары ключей priv/pub, просмотрев
$HOME/.ssh/authorized_keys
и $HOME/.ssh/authorized_keys2
.
- Если совпадений нет, аутентифицируйте пользователя с помощью пароля, если это разрешено, в противном случае произойдет сбой.
- Заключите пользователя в среду chroot, указанную параметром
ChrootDirectory
.
- Создайте специальную среду оболочки.
- Переместите пользователя в
$ГЛАВНАЯ
если возможно.
Поскольку мой $ HOME находится внутри chroot, есть ли способ сделать эту работу, которая не требует мягкой привязки пользовательских каталогов к их ожидаемым местам, не относящимся к chroot? Ниже приведены мои файлы конфигурации.
/etc/ssh/sshd_config
PermitRootЛогин нет
ВызовОтветАутентификация нет
ИспользоватьPAM да
X11Переадресация да
Версия для печати
AcceptEnv ЯЗЫК LC_*
Подсистема sftp internal-sftp -f AUTH -l VERBOSE
Группа совпадений с проблемными пользователями
ChrootDirectory /srv/chroot/пользователи/
X11Переадресация да
AllowTcpForwarding да
РазрешитьTTY да
/etc/schroot/chroot.d/problemusers.conf
[проблемщики]
description=Debian Stable для проблемных пользователей
тип = каталог
каталог=/srv/chroot/пользователи
root-пользователи = uroot
пользователи = uroot, среди, srb2k
/etc/fstab
# Система
UUID=a53ea27c-390d-4cbb-8fb1-ab152d42c335 нет SW 0 0
UUID=fdcb2dd1-ca79-49f3-a226-81523665448c / ошибки ext4=remount-ro 0 1
UUID=68A0-5674 /boot/efi vfat umask=0077 0 1
# chroot: 'проблемщики'
UUID=89fdd6a5-77b6-4333-8e19-2cfc93974368 /srv/chroot/users btrfs по умолчанию 0 1