Я создаю пользователя FTP на Linux Сервер Ubuntu 14.04 LTS, но когда я пытаюсь зарегистрировать на пути FileZilla с SFTP, я получаю следующую ошибку:
Received unexpected end-of-file from SFTP server
Если я пытаюсь соединиться со своим пользователем root, все прекрасно, таким образом, я, должно быть, пропустил что-то в новом пользовательском создании. Вот то, что я сделал:
В первую очередь, я создал поддельную оболочку в/etc/shells именование его/bin/false, я создаю группу, названную ftpgroup
sudo groupadd ftpgroup
Затем я создал пользователя FTP в нем
sudo useradd --home /var/www/html/mydir --group ftpgroup --shell /bin/false myftpuser
Я дал пароль пользователю
sudo passwd myftpuser
И сделанный этим владелец корневого каталога я дал ему
sudo chown -R myftpuser /var/www/html/mydir
наконец я настроил полномочия для папки
sudo chmod 755 /var/www/html/mydir
Я знаю, что изменение оболочки/bin/false к/bin/bash заставило бы его работать, но это дало бы моему пользователю способность получить доступ к командам оболочки, которых я избегу, если это возможно, я просто хочу его в файлы доступа в его собственном каталоге и ничем больше.
Вы можете немного изменить / etc / ssh / sshd_config
и использовать
Match User myftpuser
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
Конечно, замените имя пользователя
на желаемое имя пользователя. ограничить. Также возможно сопоставление с группой пользователей с помощью параметра Match Group
.
В любом случае, после этого изменения и перезагрузки конфигурации вашего ssh-сервера он должен работать.
Измените владельца вашего /var/www/html/mydir командой ниже
sudo chown -R root:ftpgroup /var/www/html/mydir
, проверьте эту команду на предмет соответствия. http://devtidbits.com/2011/06/29/implement-a-sftp-service-for-ubuntudebian-with-a-chrooted-isolated-file-directory/