Я пытаюсь выполнить chroot jail с помощью файла / etc / ssh / sshd_config
. Мой FTP-сервер - vsfptd, и хотя я знаю, как выполнить chroot jail с помощью конфигурации vsftpd, я хочу попробовать его с помощью sshd_config
. Тем не мение, изменение файла sshd_config
, поскольку я запрещаю FTP-соединения только для пользователей, которых я пытаюсь заключить в тюрьму.
Проверка версии моего протокола SSH выше 5.0:
telnet <host> 22:
SSH-2.0-OpenSSH_5.3
Добавление пользователя:
groupadd testgroup
useradd -d /home/testdir/testuser -g testgroup testuser
chown -R root:testgroup /home/testdir
chmod -R 775 /home/testdir
Файл sshd_config:
Subsystem sftp internal-sftp
Match group testgroup
ChrootDirectory /home/testdir/%u
ForceCommand internal-sftp
AllowTcpForwarding no
После перезапуска sshd и vsftpd:
service restart sshd
service restart vsftpd
Мой testuser
получает следующую ошибку при попытке FTP при использовании Filezilla:
Status: Connecting to <host>...
Response: fzSftp started
Command: open "testuser@<host>" 22
Command: Pass: ********
Error: Network error: Software caused connection abort
Error: Could not connect to server
Если я создаю нового пользователя в другой группе, он может FTP в порядке без этой ошибки. Это приводит меня к выводу, что мой файл sshd_config
настроен неправильно.
SSH chrooting не работает как vsftpd chroot. Вам нужна базовая система, доступная в каталоге chroot. Пожалуйста, следуйте этому руководству, чтобы сделать это правильно:
http://allanfeid.com/content/creating-chroot-jail-ssh-access
Если вам нужен только SFTP, то пользователям chroot немного проще - следуйте этому руководству вместо этого: https://wiki.archlinux.org/index.php/SFTP_chroot
Также не забудьте проверить пользовательские каталоги на наличие нужных разрешений. Подробнее в ответе.
.