У меня есть массив пользователей, которым нужно просто загружать файлы на свои домашние каталоги. Я думаю, что sftp будет достаточно, но я не хочу, чтобы они входили через шелл. Так возможно ли это? Моя платформа - Centos 7, домашние каталоги пользователей хранятся, скажем, / personal / $ user
Я создал пользователя с этими настройками
useradd -m -d /personal/user1 -s /sbin/nologin
назначил пользователя passwd, затем, когда я использую sftp для входа в систему, он говорит, что не может подключиться.
Ответы:
Изменить ваш,
/etc/ssh/sshd_config
чтобы содержать:Перезагрузка
sshd
. Если у вас есть несколько пользователей, поместите их всех в строку совпадения, разделенную запятыми, например:Ключом к настройке
sftp
запрета доступа к оболочке является ограничение пользователей с помощью этойForceCommand
опции.источник
Match User [SFTP user]
ForceCommand internal-sftp
только, без рутирования.chroot
пользователей, чтобы они не могли перемещаться вверх и из вашей определенной «тюрьмы»Мне нравится следующая настройка для управления доступом по SSH, которую я использую на работе для управления группой пользователей на небольшом парке серверов. Безопасность и простота управления занимает первое место в списке моих приоритетов.
Его основными функциями являются простое управление правами SSH через членство в группах Unix, строго определенные разрешения и безопасность по умолчанию.
Настройка
Установите программное обеспечение (необязательно, но полезно):
Добавить группы:
В
/etc/ssh/sshd_config
, убедитесь, что следующие настройкиNo
:И в конце
/etc/ssh/sshd_config
добавьте эти две строфы:(не забудьте перезапустить SSH после редактирования файла)
объяснение
Итак, что же все это делает?
allowssh
группе.sftponly
группе не могут получить оболочку через SSH, только SFTP.Управление тем, у кого есть доступ, просто выполняется путем управления членством в группе (эти изменения вступают в силу немедленно, перезапуск SSH не требуется):
Обратите внимание, что ваши пользователи sftp должны быть членами как
sftponly
(чтобы гарантировать, что они не получат оболочку), так и изallowssh
(чтобы разрешить вход в систему в первую очередь).Дальнейшая информация
Обратите внимание, что эта конфигурация не позволяет входить по паролю ; все учетные записи должны использовать аутентификацию с открытым ключом. Это, вероятно, самая большая победа в области безопасности, которую вы можете получить с помощью SSH, поэтому я считаю, что это стоит усилий, даже если вы должны начать сейчас.
Если вы действительно этого не хотите, то добавьте
PasswordAuthentication yes
вMatch Group allowssh
строфу. Это позволит пользователям использовать как pubkey, так и парольallowssh
.Эта конфигурация ограничивает любого
sftponly
пользователя их домашним каталогом. Если вы не хотите этого, удалитеChrootDirectory %h
директиву.Если вы хотите, чтобы chroot работал, важно, чтобы домашний каталог пользователя (и любой каталог над ним) находился в собственности группы,
root:root
а не на ее запись. Это нормально, если подкаталоги домашнего каталога принадлежат пользователю и / или доступны для записи.Да, домашний каталог пользователя должен быть корневым и недоступным для записи пользователю. К сожалению, есть веские причины для этого ограничения. В зависимости от вашей ситуации,
ChrootDirectory /home
может быть хорошей альтернативой.Установка оболочки для
sftponly
пользователей не/sbin/nologin
является ни необходимой, ни вредной для этого решения, потому что SSHForceCommand internal-sftp
переопределяет оболочку пользователя.Использование
/sbin/nologin
может быть полезно, чтобы остановить вход в систему другими способами (физическая консоль, samba и т. Д.).Эта настройка не разрешает прямой
root
вход через SSH; это формирует дополнительный уровень безопасности. Если вы действительно действительно нужны прямые логины корня, изменитьPermitRootLogin
директиву. Подумайте о том, чтобы установить его наforced-commands-only
,prohibit-password
и (в крайнем случае)yes
.Для получения бонусных баллов обратите внимание на ограничение того, кто может
su
получить root-права; добавить системную группу с именемwheel
и добавить / включитьauth required pam_wheel.so
в/etc/pam.d/su
.источник
chown root:root
иchmod og-w
просто измените их оболочку по умолчанию на / sbin / nologin. Предполагая большинство разновидностей Linux:
источник
Subsystem sftp internal-sftp
) (или, может бытьForceCommand internal-sftp
). Если есть общийSubsystem sftp /path/to/sftp-server
,nologin
помешает даже SFTP.Вы можете использовать TFTP. все, что связано с ssh, потребует некоторой авторизации (key | pass).
Хотя tftp может быть защищен, возможно, стоит пересмотреть решение о предоставлении доступа к чему-либо без аутентификации.
http://manpages.ubuntu.com/manpages/bionic/man1/tftp.1.html
источник