Работа с сайтами через FTP и SSH: пошаговое руководство с примерами

Управление файлами на сервере веб-сайта — ключевая задача для веб-разработчиков и администраторов. Два основных протокола для этого: FTP (File Transfer Protocol) и SSH (Secure Shell). Каждый из них имеет свои особенности, преимущества и сценарии использования. В этой статье мы разберемся, как работать с ними, приведем примеры и объясним, когда лучше выбрать тот или иной метод.

1. Что такое FTP и SSH?

FTP (File Transfer Protocol)

FTP — это протокол, предназначенный для передачи файлов между компьютерами через сеть. Он работает на порту 21 и позволяет:

  • Передавать файлы между локальным компьютером и сервером.
  • Управлять файлами и папками (перемещать, переименовывать, удалять).
  • Работать через графические клиенты (например, FileZilla) или командную строку.

Недостатки FTP:

  • Данные передаются открыто, включая пароли (не безопасно).
  • Не поддерживает выполнение команд на сервере.

SSH (Secure Shell)

SSH — это протокол для безопасного подключения к удаленному серверу. Он использует порт 22 и обеспечивает:

  • Зашифрованное соединение (безопасность).
  • Выполнение команд в терминале сервера (например, обновление файлов, установка программ).
  • Передачу файлов через SCP (Secure Copy) или SFTP (SSH File Transfer Protocol).

Преимущества SSH:

  • Защита данных шифрованием.
  • Возможность выполнять команды на сервере.
  • Стандартный протокол для администраторов.

2. Примеры работы с FTP

Как подключиться через FTP

Для работы с FTP используйте клиент, например, FileZilla. Вот шаги подключения:

  1. Откройте FileZilla.
  2. Введите данные:
    • Хост: адрес сервера (например, ftp.example.com).
    • Логин: ваше имя пользователя.
    • Пароль: пароль от сервера.
    • Порт: 21 (или другой, если указан хостингом).
  3. Нажмите Подключиться.

Пример передачи файла

Чтобы загрузить файл на сервер:

  1. В левой панели FileZilla выберите локальный файл на компьютере.
  2. В правой панели перейдите к нужной папке на сервере.
  3. Перетащите файл из левой панели в правую.

Пример удаления файла

Чтобы удалить файл на сервере:

  1. Найдите файл в правой панели FileZilla.
  2. Щелкните правой кнопкой мыши и выберите Удалить.

3. Примеры работы с SSH

Как подключиться через SSH

Используйте клиенты вроде PuTTY (Windows) или встроенную командную строку (Linux/macOS). Примеры:

На Linux/macOS:

ssh username@hostname
# Пример: ssh user@example.com

На Windows (через PuTTY):

  1. Откройте PuTTY.
  2. Введите Hostname (IP-адрес или домен) и порт (22 по умолчанию).
  3. В разделе Connection > Data укажите имя пользователя.
  4. Нажмите Open, затем введите пароль при запросе.

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

  • ls: Просмотреть содержимое текущей директории.
  • cd [путь]: Перейти в папку (например, cd public_html).
  • mkdir [название]: Создать новую папку.
  • rm [файл]: Удалить файл.
  • cp [источник] [назначение]: Копировать файл.
  • nano [файл]: Открыть редактор для редактирования файла.

Пример:

ssh user@example.com
cd public_html
ls # Просмотр файлов
nano index.html # Редактировать файл

Передача файлов через SSH (SCP/SFTP)

Скопировать файл с сервера на локальный компьютер:

scp username@hostname:/путь/к/файлу /локальный/путь
# Пример: scp user@example.com:/var/www/index.html ./index.html

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

scp /локальный/файл username@hostname:/путь/на/сервере

4. SFTP: SSH-безопасный FTP

SFTP (SSH File Transfer Protocol) — это аналог FTP, работающий через SSH. Он обеспечивает безопасность и интегрируется с SSH-клиентами. Пример подключения через OpenSSH (Linux/macOS):

sftp username@hostname
# Введите пароль
sftp> get remote_file local_file # Скачать файл
sftp> put local_file remote_file # Загрузить файл

5. Рекомендации по безопасности

Используйте SSH/SFTP вместо FTP

FTP передает данные в открытом виде, что делает его уязвимым. SSH/SFTP зашифрованы и безопасны.

Настройте SSH-ключи

Для SSH можно использовать SSH-ключи вместо паролей. Пример:

  1. Создайте ключ:

ssh-keygen -t ed25519

2. Передайте публичный ключ на сервер:

ssh-copy-id user@example.com

3. Подключайтесь без ввода пароля.

Избегайте использования root

Подключайтесь под обычным пользователем, а для админских задач используйте sudo.

6. Когда выбрать FTP или SSH?

FTP SSH/SFTP
Прост для новичков (графические клиенты). Более безопасен и функционален.
Не поддерживает выполнение команд. Позволяет работать с терминалом и передавать файлы.
Используйте, если доступа к SSH нет. Рекомендуется для всех профессиональных задач.

7. Заключение

FTP и SSH/SFTP — это инструменты для управления файлами на сервере, но SSH/SFTP предпочтительнее из-за безопасности и дополнительных возможностей. Используйте их в сочетании с надежными клиентами (например, FileZilla для FTP и PuTTY/OpenSSH для SSH). Знание базовых команд и настройки SSH-ключей существенно упростит работу с серверами.