Позволить SFTP, но запретить SSH?

Никакие реальные детали (потому что они не сталкивались со значительными проблемами насколько я знаю), но это поддержало хорошо по словам приятеля, который выполнил его некоторое время в их сети Windows/Mac. Я думаю, что они служили паре дюжины терабайт видео и документов из него.

94
задан 1 February 2015 в 16:39
5 ответов

Начиная с версии 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 в качестве оболочки пользователя.

122
ответ дан 28 November 2019 в 19:21

Все ответы являются чрезвычайно вводящими в заблуждение, к сожалению: сделайте следующее:

  1. Первый создают sftp пользователя, и группа sftp

  2. Создают отдельный каталог, как поддерживают файлы SFTP: sudo mkdir -p /home/sftpdir

  3. Имеют протестированный sshd_config файл, который позволяет SSH по порту 22, но также и SFTP на случайном порте из соображений безопасности
#$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
  1. Перезапуск, и проверьте состояние sshd сервиса

    sudo сервис sshd перезапуск

    , сервис sshd состояние

  2. Создает файл Shell. Добавьте, что выполнение для повторения уведомления

    sudo затрагивает, эхо/bin/sftponly-e '#!/bin/sh\necho "Эта учетная запись ограничено доступом SFTP только"'. | sudo-a/bin/sftponly

  3. мишени Дают полномочия выполнения и добавляют в файл

    оболочек sudo chmod a+x/bin/sftponly, повторяют "/bin/sftponly" | sudo-a/etc/shells

  4. мишени наконец Тест, и Вы не должны мочь соединиться.

  5. А обрабатывают по шаблону для использования клиента SFTP с ключевым и основным многословием SSH:

    sftp-v-oPort= $RANDOM_PORT-i ~/.ssh/$SSH_KEY.pem sftpuser@ $HOST

0
ответ дан 28 November 2019 в 19:21

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

2
ответ дан 28 November 2019 в 19:21

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.

4
ответ дан 28 November 2019 в 19:21

Теги

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