Домашний Мак-сервер. Часть 12: Подключаем FTP-сервер
Информация сегодня — это ключ к богатству. Сейчас богатство измеряется в тысячах гигабайт, а значит следует тщательно продумать, как этой информацией управлять и обмениваться. Локальный сервер, работающий по протоколу File Transfer — как раз то, что нужно. Создавая FTP-сервер под Mac OS X, можно обойтись «малой кровью» и не прибегать к установке стороннего ПО, но потратить некоторое время все таки прийдется. Нативный способ запуска сервера Apple убрала еще со времен Lion, поэтому в Mavericks мы будем делать все в ручную. Такой способ расшаривания файлов удобен тем, что нам не прийдется рыться в настройках, прописывать домены и номера портов, а доступ к контенту можно получить как в связке «OS X-OS X», так и «OS X-Windows».
Как и для многих скрытых «фишек» в OS X, мы прибегнем к помощи Терминала, а если быть точнее — к утилите launchctl. Она в свою очередь взаимодействует с launchd (программа, работающая в фоне для отслеживания daemon`ов). Итак, для загрузки FTP-сервера запускаем Терминал и вписываем следующую команду:
sudo -s launchctl load –w /System/Library/LaunchDaemons/ftp.plist
После чего вводим пароль администратора. Готово.
Сервер запущен, но как к нему подключиться? Для доступа со своего Мака вводим в строке браузера:
Где «username» — имя вашего компьютера. Его можно глянуть в стартовом приветствии Терминала.
Для доступа к серверу с другого компьютера достаточно ввести в адресной строке браузера ваш IP-адрес (его можно посмотреть в Системных Настройках — Сеть). Для более удобного доступа можно использовать FTP-клиенты: Filezilla (для Windows) и Forklift (для Mac). При подключении вас попросят ввести логин и пароль администратора.
Помните, что таким способом вы расшариваете корневую папку системы, а значит, есть некий риск, если другой пользователь зайдет на сервер под именем администратора. Разумное решение такой проблемы — создание нового профиля пользователя. Сделать это можно все в тех же Системных Настройках, в разделе Пользователи и Группы.
После чего нам всего лишь требуется перезайти под новосозданным пользователем, запустить сервер и перенести нужные файлы в корневую папку.
Для остановки сервера используем команду:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
Или можем воспользоваться специальной кнопкой выгрузки в Finder:
Таким образом, к нашему Мак-серверу мы добавили весьма полезную функцию расшаривания файлов по протоколу FTP, который одинаково хорошо работает как с Windows, так и с Mac OS X.
FTP на Mac: как зайти через Finder или другие бесплатные ФТП-клиенты
FTP является очень полезным протоколом, позволяющим передавать файлы через Интернет. При необходимости соединение с сервером на Mac можно осуществить как с помощью встроенных решений, так и сторонних программ (FileZilla, CyberDuck). Эти клиенты предлагают широкий спектр настроек, позволяющих полностью контролировать работу с FTP.
Но что делать, если сторонние программы не установлены, нет возможности сделать это или разбираться в них. В этом случае клиентом FTP может выступить привычный всем файловый менеджер Finder. Это приложение сможет соединиться с удаленным сервером, а его папки будут показаны по аналогии с локальными.
Как подключиться к FTP-серверу на Mac с помощью Finder
Получить доступ к удаленному FTP серверу с помощью нативного для macOS приложения Finder очень просто. Для этого проделайте следующее:
1. Запустите Finder.
2. В строке меню программы выберите Переход → Подключение к серверу.
3. Откроется новое окно, в котором надо будет ввести имя сервера или его IP адрес. Можно будет нажать кнопку «+», чтобы добавить этот ресурс в список Избранного и обеспечить быстрый к нему доступ впоследствии. Обратите внимание, что протокол может быть выбран как FTP, так и FTPS. Тут все зависит от уровня безопасности сервера. Важно не перепутать FTPS с SFTP. Это два разных способа подключения. Первый относится к безопасному соединению с использованием FTP, а второй работает на основе протокола SSH с добавленными к нему функциями FTP.
4. На этом шаге в строке с адресом вы можете задать и имя пользователя с его паролем, но если не сделать этого, то данные просто надо будет ввести позже.
5. Нажмите кнопку «Подключиться».
6. Нажмите еще раз кнопку «Подключиться».
7. В появившемся окне надо ввести имя пользователя и его пароль, если они не были заданы раньше. При необходимости можно выбрать вариант подключения к серверу в качестве гостя.
8. Стоит поставить галку рядом с опцией «Запомнить этот пароль в связке ключей», чтобы сохранить данные авторизации для последующих подключений.
9. Нажмите кнопку «Подключиться».
10. Появится окно с папками в том же стиле, как при работе с локальными папками Mac.
Примечание! При всем удобстве использования Finder в качестве FTP-клиента стоит отметить возможность доступа к серверу только в режиме «только для чтения». Другими словами файлы можно скачать с сервера на компьютер, но нельзя наоборот.
Как подключиться к FTP-серверу на Mac с помощью Cyberduck
Если вам все же нужно что-то разместить на сервере, то придется воспользоваться продуктами сторонних разработчиков, например, Cyberduck.
Приложение Cyberduck распространяется совершенно бесплатно, однако при желании можно внести пожертвования на сайте разработчиков.
Чтобы подключиться к FTP-серверу при помощи программы CyberDuck осуществите следующие шаги:
1. Запустите программу CyberDuck для Mac.
2. Нажмите на кнопку «Новое подключение».
3. В первой строке нового окна оставьте значение «FTP (Стандартное подключение)», если вам требуется стандартный доступ к серверу.
4. Ниже понадобится ввести адрес сервера, имя пользователя, пароль. Здесь тоже есть возможность анонимного входа и хранения данных авторизации в связке ключей.
5. Нажмите на кнопку «Подключиться».
Как видите, интерфейс программы очень прост и интуитивно понятен.
Запуск FTP SFTP сервера на macOS
Как запустить FTP и SFTP сервер под управлением MAC OS
Естественно возможно скачать отдельный сервер и многие так и поступают, но зачем, если в mac OS “из коробки” уже имеется встроенный ftp/sptp сервер, которого для большинства задач будет вполне достаточно. Просто, по умолчанию встроенный сервер отключен и нам остается просто его включить. Этим мы и займемся.
Запуск FTP сервера в macOS
Для начала запустите Терминал (/Applications/Utilities/Terminal.app) и выполните следующую команду: sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
Проверьте работает ли сервер можно командой ftp localhost . Если в окне терминала Вы увидите что-то похожее:
Значит все получилось и сервер работает. Для подключения к серверу используйте свою учетную запись или создайте новую, специально для ftp подключений (что будет правильнее с точки зрения безопасности). Для доступа к файлам на сервере воспользуйтесь командой connect to server в Finder либо с помощью любого ftp-клиента.
Запуск SFTP сервера в macOS
Если по соображениям безопасности Вам все таки требуется шифрование передаваемых данных, тогда входим в Системные настройки -> Общий доступ и ставим галочку напротив Удаленный вход.
В блоке “Разрешить доступ” желательно выбрать пункт “Только этим пользователям” и указать своего пользователя.
Проверить работоспособность этого сервера также можно командой sftp localhost
Отключение сервера
Отключается встроенный SFTP сервер снятием галочки с пункта Удаленный вход в системных настройках.
Отключить же FTP сервер можно в терминале с помощью команды sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
ЗАМЕЧАНИЕ!
FTP и SFTP серверы могут конфликтовать между собой и не рекомендуется их держать включенными одновременно.
Запуск FTP или SFTP-сервера в Mac OS X
Каждый из этих трюков FTP / SFTP-сервера работает во всех новых версиях OS X, будь то OS X Yosemite 10.10.x, Mavericks 10.9, Mountain Lion 10.8 или 10.7 Lion.
Запустить FTP-сервер в OS X
Это запустит общий сервер FTP и FTPS на Mac, но не SFTP-сервер:
- Запустите терминал (/ Приложения / Утилиты) и введите следующую команду для запуска FTP-сервера:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
Подтвердите работу FTP-сервера, набрав:
Если вы видите знакомый FTP-логин:
$ ftp localhost
Попытка :: 1 …
Подключен к локальному хосту.
220 :: 1 FTP-сервер (tnftpd 20100324 + GSSAPI) готов.
Имя (localhost: Paul):
Вы знаете, что сервер работает. Если вы этого не видите, сервер либо еще не закончил, либо вы не ввели команду правильно. Затем вы можете использовать FTP с других компьютеров Mac с помощью той же команды ftp или с помощью опции «Подключиться к серверу» в Finder.
Включение SFTP-сервера в OS X
Как вы, наверное, знаете, FTP незашифрован и, как следствие, не соответствует требованиям безопасности. Включение SFTP в наши дни проще, чем FTP на Mac:
- Запустите системные настройки и перейдите к разделу «Совместное использование»,
- Установите флажок рядом с «Удаленный вход», чтобы включить SSH и SFTP.
Обновление: наше более подробное руководство по удаленному входу и SSH-серверу находится здесь.
Вы можете проверить, работает ли SFTP, введя его в командной строке:
Примечание. Серверы FTP и SFTP отличаются друг от друга, и включение одного из них не позволяет другого. SFTP рекомендуется из-за уровня шифрования по умолчанию и безопасной передачи.
Отключить FTP или SFTP-сервер в OS X
Вот как отключить FTP-сервер:
sudo -s launchctlle -w /System/Library/LaunchDaemons/ftp.plist
Как подсказывает команда, это выгружает демона ftp и выключает сервер. Очевидно, что вы можете только отключить и отключить FTP-сервер, если он был включен для начала.
Отключение SFTP — это просто вопрос снятия флажка «Удаленный вход», который находится в панели предпочтений доступа к ОС OS X.
Если вам интересно, как это отличается от предыдущих версий OS X, вам нужно будет взглянуть на Snow Leopard (10.6) или раньше, чтобы найти разницу. Раньше опция FTP-сервера была переключением в общих панелях предпочтений общего доступа следующим образом:
Хотя не совсем понятно, почему Apple вытащила простой интерфейс для совместного использования FTP, возможно, они просто предпочитают SFTP, потому что это более безопасный протокол, и благодаря тому, что вы включаете оба варианта. Тем не менее, серверы FTP и FTPS все еще существуют (как и клиенты в этом отношении), поэтому просто использовать терминал для включения серверной части вещей. Вообще говоря, поскольку SFTP гораздо безопаснее, вы должны использовать удаленные передачи файлов и подключения, поэтому имейте это в виду, если вы планируете размещать какой-либо сервер во внешнем мире или даже просто хотите для обеспечения надежной передачи файлов на удаленные компьютеры Mac и обратно.
Это уточнение на чае с Земли Даниила через TUAW, который продолжает объяснять, как заставить ftpd запускаться автоматически при перезагрузке, поэтому, если вас это интересует, не пропустите их сообщение.