Введение
SFTP — это протокол, обеспечивающий безопасную передачу файлов по сети. Он часто используется компаниями и частными лицами для передачи конфиденциальных данных. SFTP похож на FTP, но использует для связи другой протокол. SFTP более безопасен, чем FTP, и часто используется вместе с Secure Shell (SSH) для обеспечения еще более высокого уровня безопасности.
В этом руководстве мы поможем вам настроить SFTP-сервер и создать пользователя только для SFTP в системах Ubuntu 22.04. Эта учетная запись может подключаться через SFTP, но не может подключаться через SSH. Кроме того, это приведет пользователя SFTP к определенному каталогу.
Предпосылки
- Система Ubuntu 22.04 LTS, работающая с доступом к оболочке
- Требуется учетная запись с привилегиями sudo
Создайте пользователя SFTP
Прежде всего, создайте новую учетную запись в своей системе, чтобы использовать ее в качестве пользователя sftp.
Следующая команда создаст новую учетную запись с именем sftpuser без доступа к оболочке. Вы можете изменить имя пользователя по вашему выбору:
sudo adduser --shell /bin/false sftpuser
Настройте каталог SFTP
Теперь создайте структуру каталогов, чтобы она была доступна пользователю sftp:
sudo mkdir -p /var/sftp/files
Здесь мы разрешим пользователям доступ только к каталогу « file ».
Теперь измените владельца каталога файлов на sftpuser. Чтобы sftpuser мог только читать и писать в этот каталог:
sudo chown sftpuser:sftpuser /var/sftp/files
И установить владельца и владельца группы /var/sftp в root. Пользователь root имеет доступ на чтение/запись к этому доступу. Члены группы и другие учетные записи имеют права только на чтение и выполнение:
sudo chown root:root /var/sftp
sudo chmod 755 /var/sftp
Обновите файл конфигурации SSH
Теперь отредактируйте файл конфигурации SSH в текстовом редакторе:
sudo vim /etc/ssh/sshd_config
Добавьте следующие настройки в конец файла:
Match User sftpuser
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Убедитесь, что вы добавили конфигурацию после строки Subsystem.
Сохраните файл конфигурации и закройте его.
Теперь проверьте файл конфигурации:
sudo sshd -t
Если проверка прошла успешно, вывод не будет отображаться. Если вы получите ошибку в выводе, обязательно исправьте ее перед запуском следующих команд.
Перезапустите службу SSH, чтобы применить изменения.
sudo systemctl restart ssh
Все сделано. Пользователь только для SFTP был успешно создан в вашей системе Ubuntu. Теперь попробуйте войти в удаленную систему с учетными данными нового пользователя и проверьте, все ли работает нормально.
Подключиться к пользователю SFTP
Вы можете подключиться к удаленному SFTP-серверу с помощью командной строки или графических приложений, таких как Filezilla или WinSCP. В этом уроке я покажу вам оба способа подключения sftp только к одной учетной записи в системе Ubuntu.
Пользователи Linux могут использовать утилиту командной строки sftp для подключения к удаленному экземпляру sftp:
sftp [email protected]
Вы также можете подключиться к удаленному SFTP-серверу с помощью приложений с графическим интерфейсом, таких как FileZilla. Это доступно как для пользователей Linux, так и для Windows. Откройте приложение Filezilla и введите данные sftp:
- Хост: sftp://системный-ip-хост
- Имя пользователя — используйте пользователя SFTP, созданного на шаге 1.
- Пароль: используйте пароль пользователя SFTP, созданный на шаге 1.
- Порт: используйте порт SSH-сервера или оставьте поле пустым для порта по умолчанию.
Нажмите кнопку Быстрое подключение.
Проверьте отсутствие доступа к оболочке.
Поскольку эта учетная запись настроена только для подключения по SFTP. Поэтому, если пользователь попытается подключиться через SSH, он выйдет из системы сразу после успешной аутентификации. Пользователь получит следующее сообщение:
ssh [email protected]
[email protected]'s password:
This service allows sftp connections only.
Connection to sftp.noviello.it closed.
Вывод
В итоге настройка SFTP-сервера — отличный способ безопасной передачи файлов между компьютерами. Выполнив шаги, описанные в этой статье, вы сможете быстро настроить свой SFTP-сервер в системах Ubuntu. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии ниже, и мы будем рады помочь.