Никакие реальные детали (потому что они не сталкивались со значительными проблемами насколько я знаю), но это поддержало хорошо по словам приятеля, который выполнил его некоторое время в их сети Windows/Mac. Я думаю, что они служили паре дюжины терабайт видео и документов из него.
Начиная с версии 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
в качестве оболочки пользователя.
Все ответы являются чрезвычайно вводящими в заблуждение, к сожалению: сделайте следующее:
Первый создают sftp пользователя, и группа sftp
Создают отдельный каталог, как поддерживают файлы SFTP: sudo mkdir -p /home/sftpdir
#$OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Port 38250 Port 22 PasswordAuthentication no ChallengeResponseAuthentication no # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. UsePAM yes X11Forwarding yes PrintMotd no # Allow client to pass locale environment variables AcceptEnv LANG LC_* #DenyUsers sftpuser # override default of no subsystems Subsystem sftp internal-sftp Match group sftp Match User sftpuser Match LocalPort 38250 ForceCommand internal-sftp ChrootDirectory /home/sftpdir PermitTunnel no AllowAgentForwarding no X11Forwarding no AllowTcpForwarding no
Перезапуск, и проверьте состояние sshd сервиса
sudo сервис sshd перезапуск
, сервис sshd состояние
Создает файл Shell. Добавьте, что выполнение для повторения уведомления
sudo затрагивает, эхо/bin/sftponly-e '#!/bin/sh\necho "Эта учетная запись ограничено доступом SFTP только"'. | sudo-a/bin/sftponly
мишени Дают полномочия выполнения и добавляют в файл
оболочек sudo chmod a+x/bin/sftponly, повторяют "/bin/sftponly" | sudo-a/etc/shells
мишени наконец Тест, и Вы не должны мочь соединиться.
А обрабатывают по шаблону для использования клиента SFTP с ключевым и основным многословием SSH:
sftp-v-oPort= $RANDOM_PORT-i ~/.ssh/$SSH_KEY.pem sftpuser@ $HOST
Вы можете изменить / etc / passwd и дать этому пользователю фальшивая оболочка, чтобы он не мог использовать ssh.
Checkout rssh which is a fake shell that allows sftp but denies ssh
More about RSSH
http://www.pizzashack.org/rssh/
RPMs
http://pkgs.repoforge.org/rssh/
You can configure rssh to allow / deny different behaviours like sft, scp etc.