Как запретить ssh-доступ для пользователей, созданных для ftp-доступа
Данный способ описывается в статье How To Set Up vsftpd for a User's Directory на DigitalOcean. Но, так как использую его уже не первый раз, причем не только при настройке ftp, решил перевести и сохранить себе.
Шаг 1. Создаем скрипт, который будет выполняться при попытке входа по ssh:
sudo vim /bin/ftponly
Добавляем следующий текст:
#!/bin/sh
echo "This account is limited to FTP access only."
echo "This account is limited to FTP access only."
Вывод, соответственно, можно делать какой нравится.
Шаг 2. Делаем скрипт исполняемым:
sudo chmod a+x /bin/ftponly
Шаг 3. Добавляем наш файл в список доступных командных оболочек:
sudo vim /etc/shells
В конец файла добавляем:
/bin/ftponly
Шаг 4. Для всех пользователей, которым необходимо запретить доступ по ssh, выполняем:
sudo usermod ftpuser -s /bin/ftponly
Теперь при попытке залогиниться по ssh таким пользователям будет выводиться наше сообщение:
This account is limited to FTP access only.
Connection to 109.127.772.27 closed.
Connection to 109.127.772.27 closed.