Разрешить SFTP, но запретить SSH?

Я начинаю очень небольшую хостинговую компанию для нескольких друзей и маленьких клиентов, ничего больших.

Я хочу дать своим «клиентам» право управлять своими файлами на сервере. Я ненавижу FTP, так как он не безопасен и, на мой взгляд, устарел.

Поэтому я хотел бы разрешить моим пользователям подключаться через SFTP, но не позволять им подключаться через SSH. (Я знаю, я знаю, SFTP использует SSH). Но мне просто интересно, возможно ли это?

Поэтому мне не нужно было устанавливать FTP-сервер на сервере, и все было бы замечательно!

86 голосов | спросил TomShreds 29 Jam1000000amSun, 29 Jan 2012 00:40:47 +040012 2012, 00:40:47

7 ответов


109

Начиная с версии 4.9 OpenSSH (недоступно в функции centos 5.x, но функция ChrootDirectory была обращена) имеет подсистему internal-sftp:

Subsystem sftp internal-sftp

И затем заблокируйте другие использования:

Match group sftponly
     ChrootDirectory /home/%u
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

Добавьте своих пользователей в группу sftponly. Вы должны изменить исходный каталог пользователя на / из-за chroot, а /home/user должен принадлежать root. Я также установил /bin/false как оболочку пользователя.

ответил Rob Wouters 29 Jam1000000amSun, 29 Jan 2012 00:46:31 +040012 2012, 00:46:31
19

Есть оболочка неуверенно , что это делает. Это может chroot .

ответил Stone 29 Jam1000000amSun, 29 Jan 2012 01:11:30 +040012 2012, 01:11:30
4

Checkout rssh, который является фальшивой оболочкой, которая разрешает sftp, но отрицает ssh

Подробнее о RSSH

http://www.pizzashack.org/rssh/

РПМ

http://pkgs.repoforge.org/rssh/

Вы можете настроить rssh, чтобы разрешить /запретить различные типы поведения, такие как sft, scp и т. д.

ответил Chris 2 FebruaryEurope/MoscowbThu, 02 Feb 2012 17:15:10 +0400000000pmThu, 02 Feb 2012 17:15:10 +040012 2012, 17:15:10
2

Вы можете изменить /etc /passwd и дать этому пользователю фальшивую оболочку, чтобы он не мог использовать ssh.

ответил jcisio 29 Jam1000000amSun, 29 Jan 2012 00:46:21 +040012 2012, 00:46:21
1

Я использую метод указания оболочки пользователя как /bin /false, как упоминалось. Однако вы должны убедиться, что /bin /shell находится в /etc /shells. Затем он работает ssh = no ftp = ok.

Я также использую vsftpd и добавляю это chroot_local_user = ДА в /etc/vsftpd/vsftpd.conf так что ftp-ers не могут видеть дату, отличную от своей.

Преимущество этих простых изменений - не раздражающая конфигурация конфигурации ssh для каждого пользователя.

ответил denpick 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 23 Sep 2014 21:09:46 +0400 2014, 21:09:46
1

Не забудьте найти строку UsePAM yes и прокомментировать ее:

#UsePAM yes

Без отключения этого сервера ваш SSH-сервер потерпит крах при перезагрузке /перезагрузке. Поскольку вам не нужны фантастические функции PAM, это нормально.

ответил Hudson Santos 26 Jam1000000amTue, 26 Jan 2016 01:02:53 +030016 2016, 01:02:53
0

Настройка ssh для включения только sftp для некоторых выбранных пользователей - это хорошая идея, и она работает правильно, при условии, что вы устанавливаете либо scponly, либо rssh.

rssh работает отлично, если вам не нужно настраивать тюрьму, в этом случае старайтесь следовать инструкциям, предоставленным руководствами CHROOT, безумно, что приводит к «копированию» больших частей системных исполняемых файлов и библиотеки чуть ниже », каждая пользовательская тюрьма ", включая оболочку rssh. Это метод пробелов.

scponly нуждается в глубоком понимании конфигурации, что приводит к постоянно возникающей проблеме отказа входа в случае установки тюрьмы.

Простой способ разрешить функциональность «ftp» с правильной работой в тюрьме, поддержка SSL /TLS для безопасных транзакций и входа в систему - использовать «старую, но работающую» VSFTPD, которая устанавливается быстро и качественно и предлагает всю конфигурацию по мере необходимости и, последнее, но не менее важное: он работает!

Маурицио.

ответил Maurizio 23 PMpSat, 23 Apr 2016 15:47:29 +030047Saturday 2016, 15:47:29

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132