Меню Рубрики

Sftp сервер для linux

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

15 примеров команды PING для диагностики сети

15 примеров CURL в Linux

Руководство по команде grep в Linux

Настройка маршрута по умолчанию в Linux

Загрузка ОС Linux — процесс

37 самых важных команд Linux

Как сбросить пароль в Debian

Yealink SIP-T23P

Еженедельный дайджест

Руководство по установке SFTP сервера на Linux

Привет, друг! Мы подготовили удобную инструкцию по установке и настройке SFTP-сервера Linux.

Что такое SFTP?

SFTP — это безопасный протокол передачи файлов — «Secure SHell» File Transfer Protocol. То есть это версия FTP, которая для безопасности поверх использует SSH. FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.

Установка SFTP-сервера на Linux

Чтобы выполнить эти шаги, вам нужно иметь права sudo. SFTP прост в установке, но сначала необходимо установить OpenSSH со стороны сервера и SSH-пакет со стороны клиента.

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

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

Теперь все готово для настройки SFTP.

Этап 1: Создание групп, пользователей, каталогов

Для безопасного использования SFTP, лучше всего создать группы и пользователей, которые будут использовать только эту службу.

Создадим группу с названием sftpg, при помощи комыды groupadd :

Далее создадим пользователя seenisftp, и добавим его в группу.

В команде useradd параметр -g указывает группе, какого пользователя нужно добавить.

Предположим, что вы хотите использовать каталог /data/ в качестве корневого для sftp, а /data/USERNAME — для каждого пользователя. Поэтому, когда пользователи входят через sftp, они должны будут оказаться в каталоге /data/USERNAME . Также создадим ограничение при котором пользователи смогут читать файлы из этого каталога, но загружать их смогут только в каталог uploads .

Cоздадим каталоги и изменим их доступ:

Важно: убедитесь, что владелец /data/USERNAME и есть root, это обязательно для изменения корневого каталога в SFTP

Этап 2: Настройка sshd_config

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

ChrootDirectory позволяет создать необходимый каталог в качестве корневого узла ( / каталог) в дереве каталогов. Вошедший в систему пользователь не сможет увидеть ничего выше этого каталога и это не даст ему получить доступ к файлам других пользователей. %u — это escape код для заполнения его текущим именем пользователяm, во время входа в систему.

Этап 3: Перезагрузите службу

Чтобы выполнить внесенные в sshd_config изменения, перезапустите службу:

Доступ к SFTP через командную строку Linux

Заходите в SFTP также как в SSH:

Примеры команд SFTP

Синтаксис команд SFTP:

Параметрами могут быть либо локальные, либо удаленные системные пути.

  • GET — загрузка содержимого с удаленного сервера в локальную систему.
  • PUT — загрузка содержимого из локальной системы в удалённую.
  • RM – предназначен для удаления файлов в удалённой системе.
  • Linux
  • sftp
  • ssh
  • 890
  • 0
  • 0
  • Поделиться

    Было полезно?

    Почему?

    😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

    😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

    Источник

    Как установить безопасный SFTP сервер в Linux

    SFTP служба обеспечивает безопасный механизм доступа и передачи файлов через туннель SSH. Если вы настраиваете SFTP сервер, доступ к которому будут иметь множество пользователей, то вам нужно настроить защиту не только от внешних угроз для защиты пользователей SFTP, но и для защиты от угроз от легитимных, но (потенциально) злонамеренных пользователей. Это достигается изолированием окружения индивидуальных пользователей SFTP.

    В этой инструкции я покажу, как настроить безопасный SFTP сервер на Linux. Это будет достигнуто защитой SFTP сервера от SFTP пользователей и изолированием индивидуальных SFTP пользователей друг от друга. Эту цель можно достичь множеством способов, но я опишу как это сделать способом, основанном на применении MySecureShell.

    MySecureShell — это SFTP сервер, основанный на OpenSSH, особенностью его является ряд функций безопасности:

    • Ограничение на ширину канала загрузки/выгрузки для каждого соединения
    • Ограничение на количество одновременных соединений на один аккаунт
    • Сокрытие владельца/группы/прав файла и каталога
    • Сокрытие файлов и каталогов, к которым пользователь не имеет доступа
    • Ограничение на время жизни соединения
    • Chroot для SFTP пользователей в его/её каталоге
    • Отклоняются выгрузки файлов или каталогов, которые соответствуют заданным регулярным выражениям

    Установка MySecureShell на Linux

    Для большинства популярных дистрибутивов MySecureShell распространяется в виде скомпилированных бинарных файлов. Но не для всех они включены в официальные репозитории.

    Для пользователей свежей версии Debian всё просто — ставим из официального репозитория.

    Debian 8 (Jessie)

    Чтобы включить все функции, нужно установить уидный бит (setuid) для бинарного файла mysecureshell.

    В других дистрибутивах мы добавляем новый источник приложений.

    Источник

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

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

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

    Создание пользователя

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

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

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

    В качестве целевого каталога загрузки будем использовать /srv/sftp/sftp-user . Каталог /srv/sftp будет принадлежать пользователю root и заблокирован для других пользователей. Подкаталог /srv/sftp/sftp-user будет принадлежать пользователю sftp-user , так что он сможет загружать в него файлы.

    Конфигурация ssh-сервера

    На этом этапе нужно изменить конфигурацию ssh-сервера и заблокировать пользователю sftp-user доступ к терминалу, но разрешить доступ к передаче файлов. Открываем на редактирование файл конфигурации ssh-сервера и дописываем в конец

    С функциональной точки зрения sftp-server и internal-sftp практически идентичны. Они построены из одного и того же исходного кода и реализуют SFTP-сервер. Sftp-server это отдельный бинарный файл, а internal-sftp это просто ключевое слово конфигурации. При указании internal-sftp будет использован встроенный SFTP-сервер, вместо запуска внешнего SFTP-сервера. В настоящее время sftp-server является избыточным и сохраняется для обратной совместимости.

    Тестирование конфигурации

    Пользователь sftp-user не может подключиться по ssh и получить доступ к терминалу:

    Но пользователь sftp-user может использовать SFTP для передачи файлов:

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

    Оказавшись в командной строке sftp можно получить список доступных команд с помощью команды help

    Текущий рабочий каталог:

    Изменить рабочую директорию:

    Список файлов и директорий:

    Загрузить на удаленную систему файл или директорию:

    Скачать с удаленной системы файл или директорию:

    Выполнить произвольную команду на локальной системе:

    Выполнить несколько команд на локальной системе:

    Источник

    Руководство по установке SFTP сервера на Linux

    Привет, друг! Мы подготовили удобную инструкцию по установке и настройке SFTP-сервера Linux.

    Что такое SFTP?

    SFTP — это безопасный протокол передачи файлов — «Secure SHell» File Transfer Protocol . То есть это версия FTP , которая для безопасности поверх использует SSH . FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.

    Установка SFTP-сервера на Linux

    Чтобы выполнить эти шаги, вам нужно иметь права sudo. SFTP прост в установке, но сначала необходимо установить OpenSSH со стороны сервера и SSH-пакет со стороны клиента.

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

    sudo apt install openssh-server [Ubuntu/Debian]sudo yum –y install openssh-server openssh-clients [CentOS/RHEL]

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

    sudo apt install ssh [Ubuntu/Debian]

    Теперь все готово для настройки SFTP.

    Этап 1: Создание групп, пользователей, каталогов

    Для безопасного использования SFTP, лучше всего создать группы и пользователей, которые будут использовать только эту службу.

    Создадим группу с названием sftpg , при помощи комыды groupadd:

    sudo groupadd sftpg

    Далее создадим пользователя seenisftp , и добавим его в группу.

    sudo useradd -g sftpg seenisftp
    sudo passwd seenisftp

    В команде useradd параметр -g указывает группе, какого пользователя нужно добавить.

    Предположим, что вы хотите использовать каталог /data/ в качестве корневого для sftp, а /data/USERNAME — для каждого пользователя. Поэтому, когда пользователи входят через sftp, они должны будут оказаться в каталоге /data/USERNAME. Также создадим ограничение при котором пользователи смогут читать файлы из этого каталога, но загружать их смогут только в каталог uploads.

    Cоздадим каталоги и изменим их доступ :

    sudo mkdir -p /data/seenisftp/upload
    sudo chown -R root.sftpg /data/seenisftp
    sudo chown -R seenisftp.sftpg /data/seenisftp/upload

    Важно: убедитесь, что владелец /data/USERNAME и есть root , это обязательно для изменения корневого каталога в SFTP

    Этап 2: Настройка sshd_config

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

    Match Group sftpg
    ChrootDirectory /data/%u
    ForceCommand internal-sftp

    ChrootDirectory позволяет создать необходимый каталог в качестве корневого узла (/ каталог) в дереве каталогов. Вошедший в систему пользователь не сможет увидеть ничего выше этого каталога и это не даст ему получить доступ к файлам других пользователей. %u — это escape код для заполнения его текущим именем пользователяm, во время входа в систему.

    Этап 3: Перезагрузите службу

    Чтобы выполнить внесенные в sshd_config изменения, перезапустите службу:

    sudo systemctl restart sshd

    Доступ к SFTP через командную строку Linux

    Заходите в SFTP также как в SSH :

    Примеры команд SFTP

    Синтаксис команд SFTP:

    COMMAND [SOURCE] [DESTINATION]

    Параметрами могут быть либо локальные, либо удаленные системные пути.

      GET — загрузка содержимого с удаленного сервера в локальную систему. GET poster.img

    /Pictures
    PUT — загрузка содержимого из локальной системы в удалённую. PUT

    /Pictures/picture2.jpg uploads/

  • RM – предназначен для удаления файлов в удалённой системе. RM uploads/picture3.jpg

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Переход на windows на mac os
  • Переход к сетевой папке mac os
  • Переход в полноэкранный режим mac os
  • Переустановка операционной системы на mac os
  • Переустановка safari mac os