Введение / Зачем это нужно
SFTP (Secure File Transfer Protocol) — это безопасный способ передавать файлы через SSH. На macOS вы можете пользоваться встроенным клиентом sftp в Terminal или графическим приложением, таким как FileZilla. После выполнения этого гайда у вас будет готовый набор инструментов для быстрого и надёжного подключения к удалённым серверам.
Требования / Подготовка
- macOS Monterey 12, Ventura 13 или Sonoma 14 (или более поздняя версия).
- Права администратора для установки дополнительных программ (если используете Homebrew).
- Доступ к удалённому серверу с включённым SSH и разрешённым SFTP-доступом.
- Необязательно: клиент FileZilla (можно установить через Homebrew:
brew install --cask filezilla).
Шаг 1: Подготовка инструментов
Убедитесь, что необходимые инструменты уже установлены:
# Terminal — уже встроен в macOS
# FileZilla — опционально
which terminal
brew list --cask | grep filezilla
Если FileZilla нет, выполните:
brew install --cask filezilla
Шаг 2: Подключение через Terminal
- Откройте Terminal (
/Applications/Utilities/Terminal.app). - Выполните команду для подключения:
sftp user@host
Замените user на ваше имя пользователя на сервере и host на IP-адрес или доменное имя.
- Если используется ключ аутентификации, убедитесь, что он добавлен в
ssh-agent:
ssh-add ~/.ssh/id_rsa
- После успешного входа вы увидите промпт
sftp>.
Примеры команд:- Загрузить файл:
get remote_file.txt - Отправить файл:
put local_file.txt
- Загрузить файл:
- Для завершения сеанса введите
exit.
Шаг 3: Подключение через FileZilla
- Запустите FileZilla.
- Введите параметры сервера:
- Хост:
example.comили IP-адрес. - Пользователь: ваше имя пользователя.
- Пароль: укажите пароль или используйте ключевое подключение (FileZilla поддерживает SFTP с ключами).
- Хост:
- Нажмите Подключиться.
Если вы используете ключ, нажмите Управление сайтами → Загрузить открытый ключ и перетащите файл~/.ssh/id_rsa.pub. - После подключения вы сможете переdrag-and-drop файлы в окне локального и удалённого списков.
Проверка результата
- Проверка Terminal: после ввода
sftp user@hostпроверьте список файлов командойls. - Проверка FileZilla: в окне удалённого сервера отображается содержимое каталога.
- Успешная передача: загрузите тестовый файл (
test.txt) и убедитесь, что он появился на целевом устройстве.
Возможные проблемы
- Ошибка аутентификации: проверьте правильность ввода логина/пароля, убедитесь, что SSH-доступ разрешён на сервере (
AllowUsers,PasswordAuthentication). - Сетевая недоступность: выполните
ping hostиtraceroute hostиз Terminal. - Ключ не работает: перегенерируйте ключ (
ssh-keygen -t rsa -b 4096) и скопируйте открытый ключ на сервер (ssh-copy-id user@host). - FileZilla не подключается: проверьте брандмауэр macOS (
System Settings → Network → Firewall) и убедитесь, что порт 22 открыт.
Если проблема сохраняется, воспользуйтесь связанными статьями по SSH-соединениям и установке FileZilla.