~/wiki / bezopasnost / what-is-ftp-ssh-public-private-keys-complete-guide

Что такое FTP и SSH? Самое подробное и понятное руководство для начинающих

◷ 6 мин чтения 27.05.2026

Основной чат

Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.

$ cd раздел/ $ join vibe dev

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

В этой статье мы разберём всё максимально простыми словами, как будто объясняем другу, который никогда раньше не работал с серверами. Без сложного жаргона, с примерами из жизни и пошаговыми инструкциями.

1. Что такое FTP? (File Transfer Protocol)

FTP — это старый, но очень простой способ передавать файлы на сервер.

Он появился в 1971 году — ещё до изобретения современного интернета. Представьте почтовый ящик, куда вы можете положить письмо или забрать его. FTP работает примерно так же.

Как это выглядит на практике:

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

Плюсы FTP:

  • Очень простой
  • Быстро осваивается
  • Поддерживается почти всеми хостингами

Огромные минусы (почему его почти не используют):

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

Вывод:
FTP можно использовать только в двух случаях:

  1. На локальной сети внутри компании (где никто посторонний не может подключиться).
  2. Для совсем старых проектов, где по-другому не получается.

В 2026 году для нормальной работы мы используем защищённые варианты.

2. Что такое SSH? (Secure Shell)

SSH — это безопасная «защищённая оболочка». Это как секретный тоннель между вашим компьютером и сервером.

Через SSH вы можете:

  • Подключаться к серверу и работать в командной строке (как будто сидите прямо за сервером).
  • Передавать файлы безопасно.
  • Запускать программы на сервере.
  • Настраивать сервер удалённо.

Главное преимуществовсё шифруется. Даже если кто-то перехватит ваш трафик, он увидит только «кашу» из символов.

SSH работает на 22 порту (стандартно).

3. SFTP и SCP — безопасные братья FTP

  • SFTP (SSH File Transfer Protocol) — это FTP, но внутри защищённого SSH-тоннеля. Самый удобный вариант для большинства людей.
  • SCP (Secure Copy) — более простой способ быстро скопировать файлы через командную строку.

Большинство современных программ (FileZilla, WinSCP) поддерживают SFTP.

4. Публичный и приватный ключ — как это работает (простая аналогия)

Это самая важная и чуть сложная часть. Давайте разберём на примере.

Представьте, что у вас есть:

  • Очень сложный замок (публичный ключ) — вы можете раздавать копии этого замка кому угодно.
  • Один-единственный ключ от этого замка (приватный ключ) — он только у вас.

Любой, у кого есть замок (публичный ключ), может закрыть ящик. Но открыть его может только владелец настоящего ключа (приватного).

Важные правила:

  • Приватный ключ никогда никому не давайте.
  • Если кто-то украдёт ваш приватный ключ — он сможет зайти на сервер.
  • Публичный ключ можно вставлять на сколько угодно серверов.

5. Пошаговая инструкция: как создать ключи

На Windows:

  1. Нажмите Win + S и введите PowerShell.
  2. Вставьте команду:
powershell
ssh-keygen -t ed25519 -C "yourname@vibecode.ru"
  1. Нажмите Enter несколько раз (или придумайте хорошую passphrase — дополнительный пароль).

На macOS и Linux:

Откройте терминал и выполните:

bash
ssh-keygen -t ed25519 -C "yourname@vibecode.ru"

Рекомендуется именно Ed25519 — он современный, быстрый и очень надёжный.

После создания ключей вы получите два файла:

  • id_ed25519приватный (храните как зеницу ока)
  • id_ed25519.pubпубличный

6. Как добавить публичный ключ на сервер

Самый простой способ:

bash
# С вашего компьютера
ssh-copy-id username@your-server-ip

Или вручную:

  1. Зайдите на сервер по паролю.
  2. Выполните команды:
bash
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cat >> ~/.ssh/authorized_keys

(вставьте содержимое вашего .pub файла)

bash
chmod 600 ~/.ssh/authorized_keys

7. Как подключаться удобно

Через программу (рекомендуется новичкам):

  • FileZilla (бесплатная, работает везде)
  • WinSCP (особенно хорош для Windows)
  • Cyberduck

Через терминал:

bash
ssh username@your-server-ip

Можно создать удобный файл конфигурации ~/.ssh/config:

bash
Host myserver
    HostName 123.456.789.012
    User damir
    IdentityFile ~/.ssh/id_ed25519
    Port 22

Тогда подключение будет просто: ssh myserver

8. Лучшие практики безопасности

  1. Отключите вход по паролю полностью.
  2. Используйте длинную passphrase на приватном ключе.
  3. Создавайте отдельного пользователя для каждого проекта.
  4. Регулярно обновляйте систему сервера.
  5. Установите Fail2Ban (защита от перебора).
  6. Не используйте порт 22 (можно поменять на другой).
  7. Делайте резервные копии ключей в зашифрованном виде.

9. Частые проблемы и их решения

  • «Permission denied (publickey)» — ключ не добавлен или неправильные права.
  • «Connection refused» — SSH-сервер не запущен или блокирует фаервол.
  • Ключ не работает после перезагрузки — проблема с правами на папку .ssh.
  • Медленная работа — попробуйте алгоритм ed25519 вместо RSA.

10. Сравнительная таблица

Возможность Обычный FTP SFTP (SSH) SCP
Безопасность Очень низкая Очень высокая Очень высокая
Удобство для файлов Отличное Отличное Среднее
Скорость Высокая Высокая Очень высокая
Работа через командную строку Нет Да Да
Рекомендация в 2026 Не использовать Основной выбор Для скриптов

Заключение

Теперь вы понимаете, что такое FTP, SSH, SFTP, публичные и приватные ключи.

Коротко запомнить:

  • FTP — старый и опасный.
  • SSH — современный и безопасный способ доступа.
  • Ключи — самый надёжный метод входа (лучше паролей).

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

Если что-то не получается — пишите в комментариях, разберём вашу конкретную ситуацию.

$ cd ../ ← назад к Безопасность