Невозможно выполнить chroot пользователя

Мой ssh-сервер работает как шарм уже 4 года, поэтому я просто хочу добавить пользователя + chroot его в определенную папку.

> useradd -m -c /home/thomas -s /bin/sh thomas > passwd thomas > chmod 755 /home/thomas > chown root: /home/thomas > service ssh restart 

Когда я это делаю, я могу подключиться через ssh и моя работа sftp работает. Проблема в том, что я хочу chroot в определенную папку.

 > vim /etc/ssh/sshd_config 

Добавить в конце файла:

 Match user thomas ChrootDirectory /home/%u 

Когда я только добавляю это, это не должно что-то изменить? Конфигурация должна быть одинаковой, и я все еще должен иметь возможность подключаться или использовать sftp … поэтому я перезапускаю с перезагрузкой service ssh restart и я не могу подключиться к sftp больше.

На всякий случай:

 root@xx:/etc/nginx/sites-enabled# /usr/sbin/sshd -v sshd: illegal option -- v OpenSSH_6.0p1 Debian-4+deb7u6, OpenSSL 1.0.1t 3 May 2016 usage: sshd [-46DdeiqTt] [-b bits] [-C connection_spec] [-c host_cert_file] [-f config_file] [-g login_grace_time] [-h host_key_file] [-k key_gen_time] [-o option] [-p port] [-u len] root@xx:/etc/nginx/sites-enabled# 

Что я делаю не так?

В руководстве sshd_config указано, что

ChrootDirectory должен содержать необходимые файлы и каталоги для поддержки сеанса пользователя. Для интерактивного сеанса для этого требуется хотя бы оболочка, обычно sh(1) и базовые /dev узлы, такие как null(4) , zero(4) , stdin(4) , stdout(4) , stderr(4) и tty(4) . Для сеансов передачи файлов с использованием SFTP дополнительная настройка среды не требуется, если используется inftp sftp-сервер, хотя для сеансов, использующих ведение журнала, может потребоваться /dev/log внутри каталога chroot в некоторых операционных системах (см. sftp-server(8) для подробностей).

Вам необходимо создать каталог dev а затем скопировать сценарий /dev/MAKEDEV . С помощью скрипта создайте необходимые файлы устройств.

Для интерактивных пользователей вам также необходимо установить необходимые двоичные файлы и связанные с ними библиотеки в chroot.

Ссылка на « ForceCommand internal-sftp -server» означает ForceCommand internal-sftp должна использоваться в вашем блоке Match .

Примечание: выдержка из OpenSSH 7.5, так как у меня нет доступа к какой-либо старой версии SSH.