Sftp-подключение Ubuntu

Обновлено: 03.07.2024

Протокол передачи файлов SSH (также безопасный протокол передачи файлов или SFTP) — это сетевой протокол, обеспечивающий доступ к файлам, их передачу и управление файлами через любой надежный поток данных. Это протокол передачи файлов, в котором используется набор утилит, обеспечивающих безопасный доступ к удаленному компьютеру для обеспечения безопасной связи. Он использует SSH (Secure Socket Shell или Secure Shell) и часто также называется безопасным протоколом передачи файлов Shell.

Протокол передачи файлов — это стандартный протокол связи, используемый для передачи компьютерных файлов с сервера на клиент в компьютерной сети (включая Интернет). FTP основан на архитектуре модели клиент-сервер, использующей отдельные каналы управления и передачи данных между клиентом и сервером.
FTP всегда был популярен для просмотра или перемещения больших файлов между системами. Файлы можно добавить на центральный сервер, после чего пользователи, которые хотят получить к ним доступ, смогут получить к ним доступ оттуда.

SFTP предназначен для обеспечения повышенной безопасности с помощью туннелирования с использованием Secure Shell 2 (SSH2), безопасного протокола туннелирования. Он эмулирует FTP-соединение и предоставляет безопасный для брандмауэра и зашифрованный канал для передачи файлов с использованием TCP-порта 22.
SSH обеспечивает повышенную безопасность за счет того, что весь сеанс передачи файлов, включая все команды управления сеансом, полностью зашифрован в любое время, а только требует открытия одного порта на брандмауэре, а не двух портов, которые необходимо открыть для соединений FTP и SSL.

В качестве дополнительной функции Secure FTP также сжимает все данные во время передачи, что может привести к более быстрой передаче файлов.

Похожий контент

Это руководство проведет вас через процесс установки и настройки SFTP-сервера в Ubuntu 20.04. Мы пройдем следующие шаги:

  1. Установка программного обеспечения sftp и ssh в Ubuntu
  2. Создание пользователя и группы SFTP
  3. Настройка службы SSH
  4. Подключение к серверу с помощью терминала — командная строка Linux

1. Установка программного обеспечения ssh в Ubuntu

Нам нужно иметь программное обеспечение, предоставляющее серверное программное обеспечение ssh и sftp в нашей Ubuntu

Убедитесь, что ваша машина обновлена:

Поскольку sftp зависит от ssh , нам потребуется установить либо SSH, либо OpenSSH, если ни один из них еще не установлен на вашем компьютере.
Установите демон ssh:

2. Создание пользователя и группы SFTP

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

  • Создайте группу с нужным названием. Я буду использовать sftpgroup1
  • Создайте пользователя с нужным именем и добавьте его в созданную нами группу. Я буду использовать sftpuser1 для пользователя.
  • Добавьте пароль для нового пользователя SFTP
  • Предоставьте новому пользователю SFTP полный доступ к своему новому домашнему каталогу с помощью этой команды:

Настройка службы SSH

Вам необходимо настроить службу ssh для приема трафика sftp. Добавьте следующие конфигурации в файл конфигурации ssh, расположенный здесь /etc/ssh/sshd_config :

В терминале используйте эту команду, чтобы открыть файл конфигурации с помощью vim:

Теперь добавьте этот контент в конец файла:

Вышеуказанные конфигурации предназначены для того, чтобы разрешить пользователям в группе sftpgroup1 ( Match group sftpgroup1 ) получать доступ и использовать свои домашние каталоги через SFTP, предотвращая любой другой обычный доступ SSH к этим файлам.

Сохраните и закройте файл конфигурации SSHD.

перезапустите службу SSH, чтобы применить предыдущие изменения.

4. Подключение к серверу через терминал – командная строка Linux

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

Это формат команды входа в систему:

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

Это зарегистрирует вас на сервере. Каталогом по умолчанию является каталог /home, указанный в директиве ChrootDirectory /home в конфигурации сервера ssh.

Основные команды sftp

Проверить версию:

Показать удаленный рабочий каталог

Если вам нужно проверить текущий рабочий каталог на удаленном сервере, пригодится команда pwd:

Показать рабочий каталог локального компьютера

Чтобы показать текущий рабочий каталог локальной системы, используйте команду lpwd.

Созданный пользователь будет иметь доступ только к своему каталогу. Давайте переключимся в этот каталог с помощью следующей команды:

Перейдите в домашний каталог пользователя SFTP и попробуйте создать новый каталог следующим образом:

Загрузить файлы

Делать это локально

Загрузить файлы на удаленный сервер, используя следующий синтаксис команды:

Выполнение с sftp-сервера

Используйте эти команды: ls для списка файлов, lls для локального списка, put для загрузки файлов:

Чтобы загрузить несколько файлов за один раз, мы можем использовать команду mput, как в примере ниже.Вы можете использовать mput с регулярным выражением, таким как data[23], для загрузки data2 , data3 и игнорирования data1 . Вы можете использовать любой подстановочный знак или регулярное выражение с mput .

Скачивание файлов

Делаем это с локального компьютера

Чтобы загрузить файл с удаленного сервера, используйте следующий синтаксис команды:

Вот демонстрация загрузки файла в одну строку с помощью sftp:

Выполнение этого с удаленного sftp-сервера

Загрузить один файл с сервера с помощью get . Пример загрузки данных2

Используйте mget для загрузки нескольких файлов, как в этом примере

Создание и удаление каталога

Используйте команды mkdir и rmdir для создания и удаления каталогов

Удаление файлов

Используйте команду rm для удаления файлов

Переименование файлов

Проверка использования файловой системы

Отобразите статистику для текущего каталога или файловой системы, содержащей «путь», используйте команду df. Мы можем использовать флаг -h для отображения статистики в удобочитаемом формате. Обратите внимание, что показанная статистика относится к соответствующей файловой системе удаленного SFTP-сервера, а не к файловой системе локального компьютера.

Получение справки

Чтобы получить справку о доступных командах и синтаксисе для SFTP, используйте «?» или «help».

Для дальнейшего чтения обратитесь к справочной странице sftp.

Завершить сеанс SFTP

Наконец, вы можете выйти из sftp с помощью bye , exit или quit :

Заключение

В этом руководстве нам удалось настроить sftp-сервер и изучить основные операции, которые можно выполнять на сервере

Безопасность данных и шифрование учетных данных — основные правила для системного администратора. FTP (протокол передачи файлов) отлично подходит для передачи файлов, но не так безопасен для использования по сети. Используя этот протокол, ваши данные и учетные данные передаются без какого-либо метода шифрования. SFTP, сокращенно Secure File Transfer Protocol, используется для обеспечения большей безопасности. SFTP работает по протоколу SSH, обеспечивая шифрование, необходимое для установки безопасного соединения. Таким образом, вы можете безопасно передавать данные в локальную компьютерную систему или из нее. Следовательно, безопасный протокол передачи файлов (SFTP) более безопасен, чем простой протокол передачи файлов (FTP). Иногда вам может потребоваться предоставить удаленный доступ к серверу SFTP/FTP командам разработчиков или другим клиентам. В этом случае SFTP позволяет обеспечить безопасный ограниченный доступ к определенным каталогам и файлам.

В сегодняшней статье будет рассмотрено, как настроить или настроить SFTP-сервер через SSH в системе Ubuntu 20.04 с помощью метода командной строки. Мы увидим, как пользователь SFTP предоставляет ограниченные права доступа к определенному каталогу для других.

Предпосылки

Для создания нового пользователя SFTP и выполнения административных команд необходимы привилегии root.

Настройка SFTP-сервера в Ubuntu 20.04

Выполните следующие действия, чтобы настроить SFTP-сервер в системе Ubuntu 20.04:

Шаг 1. Установите SSH

Как мы упоминали ранее, SFTP работает через SSH. Итак, сначала необходимо установить SSH на Ubuntu 20.04. Если вы еще не установили SSH в своей системе Ubuntu, установите его, выполнив следующую команду apt:


Шаг 2. Измените конфигурацию SSHD для группы SFTP

После установки SSH необходимо изменить файл конфигурации SSHD ‘/etc/ssh/sshd_config’. Итак, используйте редактор nano или любой другой, чтобы открыть этот файл конфигурации следующим образом:


Теперь вставьте следующие строки в конец или в конец файла:

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


Приведенная выше конфигурация позволит группе пользователей sftp получать доступ к своим домашним каталогам через SFTP. Однако не разрешен доступ к обычной оболочке SSH. Сохраните вышеуказанные строки в конфигурационном файле и закройте его.

Шаг 3. Перезапустите службы SSH

Чтобы новые изменения вступили в силу, перезапустите службу SSH с помощью команды systemctl:


Теперь в вашей системе настроена конфигурация SSH для пользователей SFTP. Далее вы создадите новую учетную запись пользователя SFTP и назначите разрешения.

Шаг 4. Создайте группу пользователей SFTP

Чтобы предоставить пользователям доступ к SFTP, вы должны создать учетные записи пользователей SFTP. Сначала создайте новую группу пользователей для пользователей «SFTP». Для нашего удобства все пользователи SFTP будут принадлежать к одной группе.Итак, запустите указанную ниже команду, чтобы создать новую группу SFTP:


Шаг 5. Создайте нового пользователя SFTP

После добавления новой группы создайте нового пользователя sftp, а затем добавьте этого пользователя в группу sftp, выполнив следующую команду:

Здесь мы создали нового пользователя sftp с именем «samreena» следующим образом:


Установите пароль для вновь созданного пользователя sftp, введя следующую команду:


Шаг 6. Предоставьте разрешения для определенного каталога

На этом шаге вы предоставляете полные права пользователю sftp в его домашнем каталоге. Но другим пользователям в системе не разрешен доступ к этому каталогу. Итак, предоставьте доступ с помощью команды «chmod» следующим образом:

Приведенная выше команда изменится в соответствии с именем пользователя sftp_user.


На этом настройка сервера SFTP завершена. Теперь вы можете войти в систему с учетными данными sftp, чтобы проверить, все ли работает правильно или нет.

Войти через SFTP

Вы можете войти через SFTP двумя разными способами:

  1. Подключение к SFTP с помощью командной строки.
  2. Подключение к SFTP с помощью графического интерфейса.

Способ 1. Подключитесь к SFTP с помощью командной строки

Вы можете подключиться к SFTP-серверу, используя IP-адрес или системное имя хоста. Мы используем ту же систему, в которой настроили сервер SFTP.

Откройте терминал и подключитесь через sftp, используя имя sftp_user вместе с петлевым адресом 127.0.0.1 следующим образом:


При первом подключении через SFTP на экране терминала появляется следующее диалоговое окно. Введите «да», чтобы продолжить процесс подключения. Теперь установите пароль для пользователя sftp. После этого в окне терминала отображаются следующие сообщения о подключении к 127.0.0.1, и теперь вы вошли в систему по sftp.

Теперь перейдите в домашний каталог пользователя sftp_user. Поскольку пользователь sftp имеет доступ только к домашнему каталогу. Итак, создайте новый каталог с именем «test-sftp», чтобы убедиться, что sftp работает правильно.


Способ 2. Подключитесь к SFTP с помощью графического интерфейса

Вы можете подключиться к серверу SFTP с помощью клиентского приложения SFTP с графическим интерфейсом. Вы можете либо подключиться к предпочитаемому SFTP-клиенту, либо использовать встроенный файловый менеджер Ubuntu Nautilus по умолчанию.

Откройте файловый менеджер Nautilus с помощью меню приложения, а затем нажмите «Другие местоположения». Теперь в нижней части текущего окна введите «sftp://127.0.0.1» в поле «Подключиться к серверу», а затем нажмите «Подключиться».

Введите учетные данные SFTP-аккаунта, которые вы настроили выше, и нажмите «Подключиться» следующим образом:


При успешном подключении появится следующий интерфейс:


После подключения через SFTP-сервер вы можете получить доступ к своему домашнему каталогу и его содержимому следующим образом:


Заключение

В этой статье мы настроили SFTP-сервер через SSH с помощью командной строки в системе Ubuntu 20.04. Мы рассмотрели, как защитить FTP, настроив SFTP-сервер в системе Ubuntu. Следуя вышеупомянутым рекомендациям, компьютерная система через Интернет или в вашей локальной сети может безопасно получить доступ к вашим системным файлам для извлечения и хранения с назначенными разрешениями. Это можно сделать либо с помощью предпочтительного клиента SFTP, либо с помощью командной строки.

Об авторе

Самрина Аслам

Самрина Аслам имеет степень магистра в области разработки программного обеспечения. В настоящее время она работает фрилансером и техническим писателем. Она энтузиаст Linux и написала различные статьи по компьютерному программированию, различным разновидностям Linux, включая Ubuntu, Debian, CentOS и Mint.

Как настроить SFTP-сервер в Ubuntu

Есть несколько способов настроить SFTP-сервер в Ubuntu; один использует OpenSSH, набор безопасных сетевых утилит, основанный на протоколе Secure Shell (SSH). Второй — использование FTP-сервера с очень безопасным FTP-демоном (VSFTPD) с последующим запуском его через SSH, но этот второй подход — это не SFTP, а FTP через SSH-сервер. В-третьих, вы можете использовать облачный сервис для подключения SFTP-сервера в качестве папки в Ubuntu.

В этом руководстве мы собираемся настроить SFTP-сервер в Ubuntu 18.04 с OpenSSH. Мы также создадим пользователя, папку с разрешениями, ограничим доступ, настроим правила брандмауэра, настроим ключи аутентификации и, наконец, протестируем наш сервер.

Содержание

  1. Что такое SFTP, а что нет?
  2. Способы настроить SFTP-сервер в Ubuntu?
  3. Установка и настройка сервера OpenSSH
  4. Настройка пользователей, доступа и трафика
  5. Аутентификация с помощью открытых ключей
  6. Подключение с SFTP-клиента с помощью ключа
  7. Расширьте функциональные возможности своего SFTP-сервера с помощью внешней службы

1. Что такое SFTP, а что нет?

Secure Shell (SSH) – это криптографический сетевой протокол, предоставляющий пользователям безопасный доступ к удаленным ресурсам через незащищенные сети. Он создает туннель для удаленного выполнения команд, входа в систему и командной строки, а также защищает любую сетевую службу, включая SFTP и SCP. SSH обеспечивает безопасный канал с использованием архитектуры клиент-сервер. Поэтому для подключения к SSH-серверу требуется клиент SSH.

SFTP не является FTP через SSH или FTPS

SFTP – это протокол передачи файлов, предоставляющий возможности манипулирования и маршрутизирующий данные через туннель SSH. К сожалению, многие люди путают термины FTP и в итоге настраивают то, что им не нужно.

Не путайте SFTP с FTP через SSH или FTPS (FTP через SSL). FTP через SSH — это старый FTP, но использующий криптографические алгоритмы SSH, а FTP через SSL — это старый FTP, но использующий шифрование SSL/TLS.

Хотя SFTP обладает преимуществами безопасности, которых нет у FTP, у SFTP все же есть один недостаток. По умолчанию все пользователи SSH SFTP могут получать доступ к каталогам и файлам пользователей за пределами их домашнего каталога. Таким образом, вам потребуется обеспечить некоторый контроль доступа, если вы разрешаете нескольким пользователям доступ к вашим ресурсам SFTP.

2. Как настроить SFTP-сервер в Ubuntu?

Существуют разные подходы к настройке SFTP-сервера.

а. Используйте старый добрый OpenSSH-сервер

OpenSSH — это набор сетевых инструментов командной строки, основанных на протоколе SSH. OpenSSH разработан для операционных систем OpenBSD, но теперь его можно интегрировать в различные системы, включая Linux, macOS и Windows. OpenSSH включает в себя демоны и утилиты, такие как SFTP, замену FTP для безопасного копирования файлов между компьютерами, SCP, замену RCP, и Deamon (sshd), программу для клиента SSH. OpenSSH — это рекомендуемый путь, если вы настраиваете выделенный сервер SFTP.

б. Используйте автономный FTP-сервер, например vsftpd или ProFTPD

VSFTPD удобен, если вы используете UNIX-подобные системы или Linux, поскольку он является FTP-сервером по умолчанию для различных дистрибутивов Linux, включая Ubuntu, CentOS, RHEL, Fedora и других. Он бесплатный, с открытым исходным кодом и поддерживает IPV6, TLS/SSL и FTPS. Кроме того, VSFTP поставляется со встроенной функцией тюрьмы, которая избавляет от головной боли с точки зрения накладных расходов на настройку. Хотя VSFTPD известен в Интернете как SFTP-сервер, реальность такова, что VSFTPD и SFTP — это две совершенно разные вещи. Тем не менее, VSFTPD можно настроить как FTP поверх SSH, но все же это не настоящий SFTP-сервер.

в. Используйте стороннее программное обеспечение SFTP-сервера

Какой использовать?

OpenSSH — это верный путь к SFTP-серверу, но он требует дополнительной настройки и обслуживания. С другой стороны, VSFTP может настроить простой и более доступный сервисный FTP через SSH-сервер, но не через SFTP-сервер. Наконец, сторонний облачный SFTP-сервер может быть самым простым и быстрым путем, но дает вам меньше контроля.

3. Установка и настройка OpenSSH-сервера

Мы собираемся настроить SFTP-сервер на Ubuntu 18.04, используя OpenSSH. По умолчанию рабочий стол Ubuntu и облегченный сервер Ubuntu поставляются без sshd. Итак, нам нужно установить SSH-сервер, выполнив следующие действия.

  • Обновите свою систему
    • $ sudo apt update
    • $ sudo apt upgrade
    • $sudo apt-get install openssh-server
    • $sudo systemctl статус ssh
    • $sudo systemctl включить ssh
    • $sudo systemctl запустить ssh
    • или $sudo systemctl перезапустите ssh

    Установка и настройка OpenSSH-сервера

    4. Настройка пользователей, доступа и трафика

    Единственной уязвимостью при запуске с SFTP является то, что по умолчанию любой пользователь может иметь доступ ко всей структуре корневых папок. С OpenSSH вы можете ограничить доступ пользователям в среде chroot-тюрьмы. Chroot изолирует процессы и их дочерние процессы от остальной системы. Кроме того, вам нужно будет разрешить входящий и исходящий трафик SFTP в Ubuntu UFW.

    а. Создание пользователей и каталогов

    Сначала мы создадим пользователя и группу и сделаем пользователя участником группы.

    • Добавить нового пользователя и группу для SSH и сделать нового пользователя участником группы
      • sudo adduser sftpuser01
      • sudo addgroup ftpaccess
      • sudo usermod -a -G ftpaccess sftpuser01
      • Изменить разрешение домашнего каталога пользователя. Он должен принадлежать пользователю root и иметь разрешение 755
        • корень sudo chown: /home/sftpuser01
        • sudo chmod 777 /home/sftpuser01
        • Создайте каталог в доме пользователя для загрузки и скачивания. И изменить разрешение с помощью группы
          • sudo mkdir /home/sftpuser01/www
          • sudo chmod 755 /home/sftpuser01/www
          • sudo chown sftpuser01:ftpaccess /home/sftpuser01/www

          б. Настройка подсистемы SFTP для SSH

          Как упоминалось ранее, при использовании OpenSSH вам необходимо ограничить доступ пользователей к их домашнему каталогу и подкаталогам. Вы можете сделать это через Jail (Chroot), чтобы быть ограниченным. Например, в свой каталог при входе в систему. Для этого вам нужно будет отредактировать ChrootDirectory пользователя в /etc/ssh/sshd_config

          • Перед настройкой сервера OpenSSH сделайте резервную копию файла sshd_config. Чтобы сделать резервную копию файла в свой домашний каталог:
            • $sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
            • Давайте откроем и отредактируем файл /etc/ssh/sshd_config. В Ubuntu:
              • Перейдите в «/etc/ssh» и откройте файл «sshd_config» в редакторе, таком как vi или nano.
              • Прокрутите файл вниз и найдите строку «Subsystem sftp /usr/lib/openssh/sftp-server»
              • Добавьте следующие строки ниже «Подсистема sftp /usr/lib/openssh/sftp-server»
                • Соответствие группе ftpaccess
                • ChrootDirectory %h
                • X11Номер переадресации
                • РазрешитьTcpForwardingнет
                • ForceCommand внутренний-sftp

                Добавление строк ниже

                • Перезапустите службу sshd.
                  • $ sudo service ssh перезапуск

                  в. Разрешение SFTP-трафика

                  Разрешить входящий/исходящий трафик через порт 22 в Uncomplicated Firewall (UFW)

                  • $ sudo ufw разрешить ssh
                  • $ sudo ufw включить
                  • $ sudo ufw статус

                  Разрешение входящего/исходящего трафика с порта 22 в Простой межсетевой экран (UFW)

                  5. Аутентификация с помощью открытых ключей

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

                  В системе PKI (инфраструктура открытых ключей) пара ключей (личный и открытый) создается и хранится в разных местах. У пользователей есть закрытый ключ (который генерирует открытый ключ), а открытый ключ передается серверу для аутентификации.

                  Аутентификация нового пользователя на вашем SFTP-сервере

                  Если вы хотите разрешить своим SFTP-клиентам доступ с помощью пары ключей, а не учетных данных, вам необходимо сделать следующее.

                  • На локальном компьютере/клиенте создайте новый набор ключей. Пользователь (клиент SFTP) может создать набор ключей с помощью PuTTy (для Windows) или OpenSSH (при использовании Linux). Закрытые ключи могут быть сохранены в формате .pem или .ppk и хранятся в секрете. Например, если клиент SFTP использует Windows, он может сгенерировать открытый ключ с помощью PuTTYgen.

                  PuTTY Key Generator - создание нового набора ключи

                  Проверка SSH

                  Проверьте вход, удаленно или локально подключившись по SSH.

                  • Локально: $ssh sftpuser01@127.0.0.1 -p 22
                  • Удаленно (при использовании ключа): $ssh -i «key_name.pem» sftpuser01@hostname

                  6. Подключение с SFTP-клиента с помощью ключа

                  Чтобы проверить удаленное SFTP-подключение вашего клиента к вашему серверу, вы можете использовать команду «sftp» с вашего терминала macOS или Linux. Имейте в виду, что вам нужно будет указать, что это добавление атрибута «-i», если вы используете ключи.

                  От SFTP-клиента:

                  $ sftp -i «расположение .pem (закрытого ключа)» user@domain

                  Подключение с SFTP-клиента с использованием ключа

                  Вы также можете использовать сторонние инструменты, такие как клиент FileZilla, для подключения к вашему серверу.

                  Как вы все знаете, в Интернете уже есть несколько сайтов и блогов для настройки SFTP-сервера в Ubuntu. Это ничем от них не отличается по содержанию. Вместо этого я просто кратко суммирую здесь шаги и даже даю небольшую информацию (со снимками экрана) для любых ссылок в будущем.

                  Примечание: используйте sudo перед каждой командой, если вы не пользователь root

                  Убедитесь, что SSH установлен в вашей Ubuntu

                  статус systemctl ssh

                  Alt Text
                  < /p>

                  Если SSH не установлен, выполните следующие действия, чтобы установить его

                  • Установите его — apt-get install openssh-server
                  • Включить службу ssh — systemctl enable ssh
                  • Запустите службу ssh — systemctl start ssh

                  Теперь, когда SSH установлен и запущен в вашей системе Ubuntu, вы можете подключиться к нему через SSH с любого удаленного компьютера.

                  • Попробуйте получить доступ к системе с помощью SSH: ssh user@server-name

                  Если вы не можете подключиться к удаленному компьютеру с помощью SSH, обязательно включите брандмауэр в этой системе Ubuntu

                  • Проверьте состояние брандмауэра – статус ufw
                  • Откройте порт SSH в брандмауэре — ufw разрешить ssh
                  • Включить брандмауэр – включить ufw

                  Создать родительскую папку для sftp

                  После подключения по sftp это будет родительская папка.

                  Например. Я уже создал папку с именем 'sftp' в корневом каталоге ('/'), как показано на диаграмме ниже.

                  Alt Text
                  < /p>

                  Создайте новую группу для доступа к sftp-серверу

                  Этот шаг необязателен. Вы можете создать группу, а затем добавить в нее пользователя или создать пользователя напрямую — для доступа к sftp-серверу

                  • Создайте новую группу — addgroup sftpusers (sftpusers — это название группы)

                  Alt Text
                  < /p>

                  Создайте нового пользователя для доступа к sftp-серверу

                  • Создайте нового пользователя — useradd sftpuser (sftpuser — это имя пользователя)

                  Alt Text
                  < /p>

                  • Проверьте, создан ли новый пользователь - less /etc/passwd | grep sftpuser (sftpuser — это пользователь, которого я создал)

                  Alt Text
                  < /p>

                  • Установите пароль для нового созданного пользователя - passwd sftpuser (обязательно запомните пароль для созданного пользователя)

                  Alt Text
                  < /p>

                  Добавить этого нового пользователя в созданную группу

                  Пропустите этот шаг, если вы не создавали группу и планируете получать доступ к sftp-серверу напрямую через пользователя

                  • Добавить нового пользователя в новую созданную группу - usermod -a -G sftpusers sftpuser

                  Alt Text
                  < /p>

                  • Убедитесь, что пользователь добавлен в группу: grep sftpusers /etc/group

                  Alt Text
                  < /p>

                  Создать каталоги внутри папки sftp

                  Создайте каталог внутри родительского каталога sftp (здесь внутри /sftp)

                  Например. Создание пары каталогов с именами uploads, downloads внутри каталога /sftp

                  Alt Text
                  < /p>

                  Установить разрешение для созданных каталогов внутри папки sftp

                  • Предоставить право собственности и полное разрешение на доступ к родительскому каталогу для корневого каталога — chown root:root /sftp и chmod 755 /sftp

                  Alt Text
                  < /p>

                  Аналогичным образом передайте пользователю/группе права собственности на папки внутри родительского каталога

                  • Если группа создана - chown sftpuser:sftpusers /sftp/uploads /sftp/downloads
                  • Если пользователь создал не группу, chown sftpuser /sftp/uploads /sftp/downloads [здесь sftpuser — пользователь]

                  Здесь sftpuser — это имя пользователя, а sftpusers — это имя группы, которую мы создали выше

                  Предоставить необходимые разрешения для папок внутри родительского каталога — chmod 775 /sftp/uploads /sftp/downloads

                  Alt Text
                  < /p>

                  Измените файл конфигурации сервера SSH

                  Откройте файл конфигурации сервера SSH — sudo nano /etc/ssh/sshd_config

                  Кроме того, добавьте блок строк в конец файла, чтобы включить sftp (выделено желтым), затем сохраните файл

                  • Для спецификации родительской папки, созданной для SFTP, и если для доступа к SFTP-серверу создан только пользователь (не группа), см. текст (выделено красным)

                  Перезапустите службу SSH

                  • Чтобы применить изменения конфигурации, перезапустите службу - systemctl перезапустить sshd

                  Alt Text
                  < /p>

                  Проверьте соединение SFTP

                  Теперь вы можете получить доступ к SFTP-серверу с помощью следующей команды - sftp username@hostname [здесь sftp sftpuser@localhost]

                  После ввода пароля он попадет в родительский каталог sftp, настроенный на предыдущем шаге [здесь /sftp ], в котором будут показаны папки, которые мы создали [здесь будут показаны две папки с именами загрузки и загрузки - что создано ранее]

                  Alt Text
                  < /p>

                  Ура! Теперь вы успешно настроили SFTP-сервер и получили к нему доступ

                  Примечание. В операционной системе реального времени SFTP настраивается на конкретном сервере (или даже весь сервер используется для целей SFTP), и все приложения получают доступ к SFTP-серверу, упоминая соответствующее имя хоста, порт , имя пользователя и пароль

                  Читайте также: