Skip to content

Настройка системы Linux с помощью SFTP

1. Обзор

Система Linux поставляется с сервисом SFTP. В этой статье на примере системы CentOS 7 рассказывается о том, как использовать SFTP в системе Linux. Конкретные шаги могут отличаться в зависимости от версии и конфигурации операционной системы.

2. Установите сервер OpenSSH

SFTP - это безопасная передача файлов по протоколу SSH, поэтому вам необходимо установить сервер OpenSSH.

2.1 Определение наличия или отсутствия сервера OpenSSH

1) Откройте терминал или интерфейс командной строки. Войдите в систему как пользователь root.

2) Выполните следующую команду, чтобы определить, установлен ли сервер OpenSSH:

yum -q list openssh-server
  • Если вы видите строки, связанные с OpenSSH, значит, в вашей системе установлен клиент OpenSSH. Убедитесь, что версия сервера OpenSSH выше 4.8p1; если она слишком низкая, ее необходимо обновить.
  • Если соответствующий выход OpenSSH не найден и отображается сообщение об ошибке типа "команда не найдена", значит, сервер OpenSSH еще не установлен в системе.

2.2 Установка сервера OpenSSH

Если запрос в разделе 2.2 показывает, что в системе установлен сервер OpenSSH версии 4.8p1 или выше , этот раздел можно пропустить.

Если согласно запросу в разделе 2.1 сервер OpenSSH не был установлен в системе, или версия установленного сервера OpenSSH не соответствует требованиям, то необходимо выполнить операцию, описанную в данном разделе.

1) Откройте терминал или интерфейс командной строки. Войдите в систему как пользователь root.

2) Выполните следующую команду, чтобы обновить список системных пакетов:

sudo yum update

3) Выполните следующую команду для установки сервера OpenSSH:

sudo yum install openssh-server

2.3 Изменение ограничений параллелизма и сеансов

Из-за высокого параллелизма, который может возникнуть при использовании SFTP, необходимо заранее оптимизировать лимиты параллелизма и количества сессий на сервере в зависимости от ожидаемой нагрузки.

В противном случае, в состоянии высокой текучести, SFTP-соединение приведет к ошибке: соединение закрыто иностранным хостом

Описание параметра:

параметрыинструкции
MaxStartupsИспользуется для ограничения максимального количества одновременных соединений, разрешенных SSH-сервером, и ограничения скорости соединения, т.е. верхнего предела количества клиентов, одновременно подключающихся к серверу.Формат значений параметров - a🅱️c.* a: указывает максимальное количество одновременных соединений * b: указывает временной интервал (в минутах) для инициирования ограничения скорости после определенного количества соединений * c: указывает максимальное количество инкрементных соединений, разрешенных в течение периода ограничения Значение по умолчанию, MaxStartups 10:30:100, указывает, что максимальное количество одновременных подключений равно 10, что ограничено количеством подключений в течение 30-минутного периода и допускает 100 дополнительных подключений каждые 30 минут.
MaxSessionsИспользуется для ограничения количества сеансов SSH, которые пользователь может создавать одновременно.Формат значения параметра - целое число, указывающее на максимальное количество разрешенных сеансовЗначение по умолчанию, MaxSessions 10, означает, что у каждого пользователя может быть одновременно открыто не более 10 сеансов SSH.

Измените метод:

1) Откройте терминал или интерфейс командной строки. Войдите в систему как пользователь root.

2) С помощью текстового редактора (например, vi или nano) откройте файл /etc/ssh/sshd_config.

3) Найдите в файле строку, содержащую MaxStartups и MaxSessions.

По умолчанию эти две строки находятся в закомментированном состоянии (с помощью # в начале), откомментируйте их. Если нет, добавьте следующую строку в конец файла и сохраните:

  
MaxStartups 1000:30:1200 MaxSessions 1000

4) Перезагрузите конфигурацию SSH-сервера, чтобы применить изменения. Для перезагрузки сервера OpenSSH можно использовать следующую команду:

sudo systemctl reload sshd

2.4 Настройка аутентификации SSH

По умолчанию сервер OpenSSH использует для аутентификации пользователя в системе. Вам необходимо убедиться, что существует учетная запись пользователя, которую можно использовать для входа в систему, и что у пользователя есть соответствующие разрешения.

В примере из этого раздела создается пользователь с именем fanruan, для него задается пароль и права доступа к папкам.

1) Создайте нового пользователя (замените "fanruan" на имя пользователя, которого вы хотите создать)

sudo adduser fanruan

2) Установите пароль для пользователя (замените "fanruan" на имя пользователя, которое вы хотите создать, и следуйте подсказкам, чтобы установить пароль)

sudo passwd fanruan

3) Подготовьте папку для хранения файлов проектов приложений FanSoft. Пример /home/fanruan

4) Предоставьте пользователю доступ на запись к папке (замените "/home/fanruan" на путь к вашей папке).

chmod -R 777 /home/fanruan

3. Подготовка файловых серверов

3.1 Копирование файла проекта

1) Перейдите в папку приложения Sailsoft %Tomcat_HOME%/webapps/webroot.

2) Скопируйте папку WEB-INF в каталог /home/fanruan (папка, подготовленная в разделе 2.4), подготовленный сервером OpenSSH.

3.2 Запуск службы SFTP

1) Откройте терминал или интерфейс командной строки. Войдите в систему как пользователь root.

2) Выполните следующую команду, чтобы проверить состояние SSH-сервера:

сервис sshd status
  • Если статус Active (Активный) запущен, SFTP работает.
  • Если состояние Active не запущено, SFTP не запускается.

3) Выполните следующую команду, чтобы запустить SSH-сервер:

запустить службу sshd

3.3 Открытые порты

Брандмауэр сервера, на котором размещен SFTP, должен быть открыт для порта 22.

4. Настройка SFTP в качестве файлового сервера для кластера

Администратор вход FineBI системы, нажмите "System Management > Интеллектуальная эксплуатация и обслуживание > Конфигурация кластера", для подробного описания шагов конфигурации, пожалуйста, обратитесь к: Linux системы вручную настроить стандартный кластер добычи.

При настройке файлового сервера выберите SFTP в качестве протокола и заполните абсолютный путь в качестве пути к папке WEB-INF. Как показано на рисунке ниже:

5. условия

5.1 Знания в области эксплуатации и технического обслуживания

  
  
service sshd status # Проверьте состояние службы sftp service sshd start # Запустите службу sshd stop #  
Остановить службу sshd restart #перезапустить службу sftp

Примечание: SFTP запускается по умолчанию при запуске системы. Дополнительную информацию см. в разделе: Cluster Operation and Maintenance Manual - Linux Edition.

5.2 Невозможно загрузить файлы или перезапустить службу sshd

При входе в Sftp для работы с файлом возникает ошибка "550 create directory operation failed" или вы не можете войти в систему и не имеете прав на чтение/запись даже после включения прав 777, рассмотрите следующие действия.

Это проблема с механизмом установки SELinux (Security-Enhanced Linux, реализация АНБ обязательного контроля доступа), который необходимо отключить.

1) Способы окончательного отключения SELinux

  
vi /etc/selinux/config # Отредактируйте файл конфигурации SELinux SELINUX=enforcing --> SELINUX= disabled # Отключите SELinux навсегда и перезагрузите систему.

2) Способы временного отключения SELinux

setenforce 0 # Выполнение команды, только временное отключение, после перезагрузки будет восстановлено исходное состояние

3) Не отключайте SELinux

getsebool -a | grep ftpd # Только ftp_home_dir и allow_ftpd_full_access должны быть & nbsp;включены, чтобы vsftpd имел доступ к корневому каталогу ftp, передаче файлов и т. д. setsebool -P ftp_home_dir 1 # Просто запустите его.   
nbsp;on для того, чтобы vsftpd имел доступ к корневому каталогу ftp, передаче файлов и т. д. setsebool -P ftp_home_dir1 # Выполнить его.   
setsebool -P allow_ftpd_full_access 1 # Просто сделайте это.

Примечание: Подробнее о SELinux читайте в разделе Начало работы с SELinux.