Что такое FTP и SSH? Самое подробное и понятное руководство для начинающих
Основной чат
Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.
Представьте, что у вас есть квартира (ваш сервер в интернете), и вам нужно постоянно заносить туда вещи (файлы вашего сайта или бота), менять мебель (код) и иногда проверять, всё ли в порядке. Для этого существуют специальные «двери и ключи» — протоколы FTP и SSH.
В этой статье мы разберём всё максимально простыми словами, как будто объясняем другу, который никогда раньше не работал с серверами. Без сложного жаргона, с примерами из жизни и пошаговыми инструкциями.
1. Что такое FTP? (File Transfer Protocol)
FTP — это старый, но очень простой способ передавать файлы на сервер.
Он появился в 1971 году — ещё до изобретения современного интернета. Представьте почтовый ящик, куда вы можете положить письмо или забрать его. FTP работает примерно так же.
Как это выглядит на практике:
- Вы открываете программу (например, FileZilla).
- Вводите адрес сервера, логин и пароль.
- Видите две панели: слева — ваши файлы на компьютере, справа — файлы на сервере.
- Перетаскиваете файлы мышкой — они загружаются или скачиваются.
Плюсы FTP:
- Очень простой
- Быстро осваивается
- Поддерживается почти всеми хостингами
Огромные минусы (почему его почти не используют):
- Всё передаётся открытым текстом — как открытка, которую может прочитать любой по дороге.
- Логин, пароль и все файлы могут перехватить.
- Легко взломать.
Вывод:
FTP можно использовать только в двух случаях:
- На локальной сети внутри компании (где никто посторонний не может подключиться).
- Для совсем старых проектов, где по-другому не получается.
В 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:
- Нажмите
Win + Sи введитеPowerShell. - Вставьте команду:
ssh-keygen -t ed25519 -C "yourname@vibecode.ru"
- Нажмите Enter несколько раз (или придумайте хорошую passphrase — дополнительный пароль).
На macOS и Linux:
Откройте терминал и выполните:
ssh-keygen -t ed25519 -C "yourname@vibecode.ru"
Рекомендуется именно Ed25519 — он современный, быстрый и очень надёжный.
После создания ключей вы получите два файла:
id_ed25519— приватный (храните как зеницу ока)id_ed25519.pub— публичный
6. Как добавить публичный ключ на сервер
Самый простой способ:
# С вашего компьютера
ssh-copy-id username@your-server-ip
Или вручную:
- Зайдите на сервер по паролю.
- Выполните команды:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cat >> ~/.ssh/authorized_keys
(вставьте содержимое вашего .pub файла)
chmod 600 ~/.ssh/authorized_keys
7. Как подключаться удобно
Через программу (рекомендуется новичкам):
- FileZilla (бесплатная, работает везде)
- WinSCP (особенно хорош для Windows)
- Cyberduck
Через терминал:
ssh username@your-server-ip
Можно создать удобный файл конфигурации ~/.ssh/config:
Host myserver
HostName 123.456.789.012
User damir
IdentityFile ~/.ssh/id_ed25519
Port 22
Тогда подключение будет просто: ssh myserver
8. Лучшие практики безопасности
- Отключите вход по паролю полностью.
- Используйте длинную passphrase на приватном ключе.
- Создавайте отдельного пользователя для каждого проекта.
- Регулярно обновляйте систему сервера.
- Установите Fail2Ban (защита от перебора).
- Не используйте порт 22 (можно поменять на другой).
- Делайте резервные копии ключей в зашифрованном виде.
9. Частые проблемы и их решения
- «Permission denied (publickey)» — ключ не добавлен или неправильные права.
- «Connection refused» — SSH-сервер не запущен или блокирует фаервол.
- Ключ не работает после перезагрузки — проблема с правами на папку
.ssh. - Медленная работа — попробуйте алгоритм
ed25519вместо RSA.
10. Сравнительная таблица
| Возможность | Обычный FTP | SFTP (SSH) | SCP |
|---|---|---|---|
| Безопасность | Очень низкая | Очень высокая | Очень высокая |
| Удобство для файлов | Отличное | Отличное | Среднее |
| Скорость | Высокая | Высокая | Очень высокая |
| Работа через командную строку | Нет | Да | Да |
| Рекомендация в 2026 | Не использовать | Основной выбор | Для скриптов |
Заключение
Теперь вы понимаете, что такое FTP, SSH, SFTP, публичные и приватные ключи.
Коротко запомнить:
- FTP — старый и опасный.
- SSH — современный и безопасный способ доступа.
- Ключи — самый надёжный метод входа (лучше паролей).
Начните с малого: сгенерируйте ключи, подключитесь через FileZilla по SFTP, отключите вход по паролю. Это один из самых важных навыков для любого человека, который работает с сайтами, ботами или приложениями.
Если что-то не получается — пишите в комментариях, разберём вашу конкретную ситуацию.