Я открываю очень маленькую хостинговую компанию для нескольких друзей и маленьких клиентов, ничего особенного.
Я хочу дать своим «клиентам» право управлять своими файлами на сервере. Я ненавижу FTP, поскольку он небезопасен и, по моему мнению, устарел.
Поэтому я хотел бы разрешить моим пользователям подключаться через SFTP, но не разрешать им подключаться через SSH. (Я знаю, я знаю, SFTP использует SSH). Но мне было просто интересно, возможно ли это?
Поэтому мне не нужно было устанавливать FTP-сервер на сервере, и все было бы здорово!
Существует оболочка, которая делает это. Это может также chroot .
источник
Checkout rssh, который является поддельной оболочкой, которая позволяет sftp, но запрещает ssh
Подробнее о RSSH
http://www.pizzashack.org/rssh/
Обороты
http://pkgs.repoforge.org/rssh/
Вы можете настроить rssh, чтобы разрешить / запретить различные варианты поведения, такие как sft, scp и т. Д.
источник
Вы можете изменить / etc / passwd и дать этому пользователю поддельную оболочку, чтобы он не мог использовать ssh.
источник
/bin/false
ни ssh, ни sftp не работаютЯ использую метод указания пользовательской оболочки как / bin / false, как уже упоминалось. Однако вы должны убедиться, что / bin / shell находится в / etc / shells. Тогда это работает ssh = no ftp = ok.
Я также использую vsftpd и добавляю этот
chroot_local_user = YES в /etc/vsftpd/vsftpd.conf, чтобы ftp-пользователи не могли видеть дату, отличную от их собственной.
Преимущество этих простых изменений - не надоедает конфигурация конфигурации ssh для каждого пользователя.
источник
Не забудьте найти строку
UsePAM yes
и прокомментировать ее:Без отключения этого ваш SSH-сервер зависнет при перезагрузке / перезапуске. Поскольку вам не нужны необычные функции PAM, это нормально.
источник
Настройка ssh для включения только sftp для некоторых выбранных пользователей - это хорошая идея, и она работает правильно при условии, что вы устанавливаете либо,
scponly
либоrssh
.rssh
работает нормально, если вам не нужно настраивать джейл, в этом случае попробуйте следовать инструкциям, приведенным в руководствах CHROOT, безумно, что приводит к «копированию» больших частей исполняемых файлов системы и библиотеки чуть ниже «каждого пользовательского джейла», включаяrssh
саму оболочку. Это бесполезный метод.scponly
необходимо глубокое понимание конфигурации, ведущее к постоянной проблеме отклонения входа в систему в случае установки тюрьмы.Простой способ обеспечить функционирование «ftp» с правильно работающей тюрьмой, поддержку SSL / TLS для безопасных транзакций и входа в систему - это использовать «старый, но работающий» VSFTPD, который устанавливается быстро и чисто и предлагает всю конфигурируемость по мере необходимости и, наконец, последний но не в последнюю очередь: это работает!
Маурицио.
источник
К сожалению, все ответы вводят в заблуждение: пожалуйста, сделайте следующее:
Сначала создайте пользователя sftp и группу sftp
Создайте отдельный каталог как root для файлов SFTP:
sudo mkdir -p /home/sftpdir
Перезапустите и проверьте состояние службы sshd.
sudo service sshd перезапустить
сервисный sshd статус
Создайте файл оболочки. Добавить выполнение, чтобы отобразить уведомление
sudo touch / bin / sftponly echo -e '#! / bin / sh \ necho "Эта учетная запись ограничена только доступом SFTP."' | sudo tee -a / bin / sftponly
Дать разрешения на выполнение и добавить в файл оболочки
sudo chmod a + x / bin / sftponly echo "/ bin / sftponly" | sudo tee -a / etc / shells
наконец, проверьте, и вы не сможете подключиться.
Шаблон для использования клиента SFTP с ключом SSH и базовым многословием:
sftp -v -oPort = $ RANDOM_PORT -i ~ / .ssh / $ SSH_KEY.pem sftpuser @ $ HOST
источник