Меню Рубрики

Mac os mount ssh

Самый удобный способ работы с файлами хостинга на macOS (sshfs + Automator)

Всем привет, друзья! Сегодня мы рассмотрим удобнейший способ работы с файловой системой удалённого веб-сервера или хостинга с помощью sshfs на macOS. Сама программа sshfs является linux-приложением, поэтому вы без труда сможете использовать данное руководству в системе Linux и подобных, имеющих реализацию FUSE. Благодаря данному руководству вы сможете настроить автоматическое подключение файловой системы вашего веб-сервера к компьютеру и работать с файлами так быстро, как будто работаете с файлами вашей собственной файловой системы. Скорость работы будет ограничиваться только скоростью вашего интернет-соедиения.

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

Для начала необходимо настроить SSH аутентификацию по открытому ключу. Как это сделать мы рассматривали в одном из наших предыдущих уроков «Rsync — молниеносный деплой средних и крупных проектов», раздел «1.2 Настройка SSH Аутентификации по открытому ключу». Для удобства, я продублирую это руководство в данной статье.

Настройка SSH Аутентификации по открытому ключу

Создайте директорию для SSH, в том случае, если она ещё не создана (знак доллара копировать не нужно):

Зайдите в созданную папку и сгенерируйте ключ (на все вопросы — жмём Enter):

Скопируйте получившийся ключ id_rsa.pub на ваш хостинг или сервер:

Подключитесь к удалённому серверу для внесения нового ключа в authorized_keys:

Если директория ещё не существует, создайте её и установите соответствующие права:

Скопируйте сгенерированный ключ в специальный файл доступа ‘authorized_keys’ и установите на него безопасные права:

Удалите скопированный в корень вашего пользователя ключ, который уже добавили в общий файл и завершите вашу сессию командой logout:

Далее нам остаётся только добавить закрытый ключ в агент аутентификации на локальном компьютере:

Если вы не получили сообщения вида «Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)», а получили оведомление вроде такого: «Could not open a connection to your authentication agent.», то следует запустить агента командой eval:

И заново запустите ssh-add. Теперь вы можете пользоваться SSH на вашем компьютере, а в том числе и rsync, который использует SSH без авторизации в автоматическом режиме. Попробуйте подключиться снова к вашему серверу по SSH и убедитесь, что от вас не требуется ввести пароль. В противном случае, если пароль всё-таки требуется ввести, повторите процедуру получения SSH ключа заново.

Установка sshfs в macOS

Для установки sshfs в macOS нам понадобится менеджер пакетов Homebrew. Для его установки перейдите на страницу Homebrew и выполните инструкции по его установке, которые сводятся к открытию терминала и выполнения одной команды:

Процесс установки Homebrew может занять довольно продолжительное время из-за установки инструментов командной строки Xcode.

По завершении установки менеджера пакетов Homebrew можно приступать к установке sshfs. Для этого последовательно выполните в терминале следующие команды:

Отлично! Sshfs установлен.

Давайте создадим в папке «Документы» папку «SERVER», к которой и будем подключать файловую систему нашего хостинга.

Если с данной задачей вы справились, можно смело двигаться дальше.

Использование sshfs довольно элементарно. Все действия производятся в терминале (Все данные замените на ваши, такие, как доступ к серверу и имя пользователя):

Как видим, команда элементарна. Сначала мы выполняем программу «sshfs», после чего задаём параметры подключения к серверу формата логин@ваш-хост:/путь/до/вашего/аккаунта (пробел) /Путь/До/Вашей/Локальной/Папки/SERVER

Однако эта команда нуждается в дополнительных параметрах. Во-первых, нам необходимо, чтобы по истечении определённого таймаута наш удалённый сервер не отрубился и всегда был в коннекте. Для этого существует параметр «reconnect». Все параметры пишем через запятую после определения «-o».

В результате наша команда будет выглядеть следующим образом:

Отлично, теперь мы имеем подключённую файловую систему вашего хостинга, которая постоянно будет подключена и никогда не «отрубится» благодаря параметру reconnect.

Однако пользователи macOS заметят одну неприятную особенность работы sshfs, в отличие от пользователей Linux — подключение будет медленное, переход по папкам будет медлителен и в целом работа будет не очень шустрая.

Всё дело в том, что работа программы sshfs в macOS несколько отличается от работы в Linux и здесь не обойтись без дополнительных параметров кеширования и сжатия.

Вот полная команда со всеми параметрами:

Здесь мы видим, что окромя «reconnect» появились и другие параметры, которые мы перечисляем через запятую. Именно эти параметры и явное отключение компрессии в конце сета параметров и сделают наше подключение и работу с файлами сервера или хостинга молниеносным, как солёные огурчики с молоком.

Обратите внимание, что у нас в конце появился ещё один параметр «-ovolname=SERVER», который просто определяет имя нашего подключения. Название нашей папки, которую мы создали в Документах при подключении поменяется именно на это название, поэтому не вижу смысла задавать другое значение данному параметру.

Автоматизация подключения при загрузке системы

Всё, наша команда готова. Осталось только автоматизировать подключение при загрузке системы. Для этого нам понадобится приложение «Automator», которое вы с лёгкостью найдёте в вашем Launchpad на macOS.

В открывшемся окне выберем создание нового документа:

Далее выбираем тип для документа «Программа»:

Далее в поле поиска вбиваем «скрипт» и выбираем пункт «Запустить Shell-скрипт».

После чего откроется панель, в которой уже будет тестовый первый скрипт, выполняющий команду «cat». Убираем «cat» и пишем нашу команду, которую мы определили ранее:

Обратите внимание, что системный вызов команды «sshfs» мы заменили на прямой «/usr/local/bin/sshfs». Дело в том, что Shell-обработчик Автоматора не видит установленной программы в системе и нужно писать полный путь до нашего sshfs.

Теперь осталось только запустить наш скрипт и сохранить программу в любое удобное место с именем «Server.app»:

Обратите внимание, что место сохранения нашего приложения — iCloud. Здесь есть специальная папка для сохранения пользовательских Automator приложений.

После того, как наш скрипт запакован в приложение, при запуске которого подключается наш сервер, можно добавить его в автозагрузку. «Системные настройки» > «Пользователи и группы». Выбираете вашего пользователя и переходите на вкладку «Объекты входа». И добавляете, собственно говоря, ваше приложение:

Теперь при загрузке системы у вас будет подключаться файловая система вашего хостинга в папку «SERVER», которую вы можете вынести на панель «Избранное» в Finder для быстрого доступа.

Премиум уроки от WebDesign Master

Создание контентного сайта на Jekyll от А до Я

Создание современного интернет-магазина от А до Я

Источник

Монтируем удалённый сервер через sshfs в mac os

Пользователи Mac OS пришедшие в него, как и я, из мира Linux, конечно же знают, что терминал настолько крутая вещь, и в нём можно творить такое… такое… В общем в нём можно делать всё и везде. Когда я случайно нашёл в своём Hackintosh’е терминал, слёзы радости проступили на моих глазах, а когда настроил монтирование своих серверов в папку в Finder по SSH ключу, я спутал это состояние с достижением нирваны или самадхи, в общем чего-то эдакого из Буддизма. В общем те кому интересно, как этого достичь «Велкоме» в статью.

Итак друзья, как оказалось ничто человеческое Маку не чуждо и в нём тоже есть довольно годный пакетный менеджер, точнее их не один даже, но вот один прям годнота. Имя ему «Homebrew«, почитать о нём и установить, если у вас его ещё нет, можно на его официальном сайте https://brew.sh/. И мало того что он сам по себе хорош, так к нему ещё расширение есть в котором довольно обширная база пакетов устанавливаемых и удаляемых в пару кликов, зовётся оно
Homebrew-Cask, информация по нему на его официальном сайте https://caskroom.github.io/. Для тех кто мне, по какой-то причине, решил не глядя довериться, вот две команды на установку обоих:

Считаю что он у вас уже есть и потому даю сразу команды ввода в терминал уже адресованные к ним. Для реализации поставленных целей нам потребуются два пакета, первый насколько я понимаю нужен для монтирования в Мак, а второй итак вроде понятно:

Установим их выполнив поочередно команды в терминале:

Создаём в домашней директории две папки:

Первая, как видно из команды, скрытая, в неё нам нужно положить ключи доступа к серверу по ssh,
вторая может иметь абсолютно любое понравившееся вам имя, в неё просто будет монтироваться файловая система вашего сервера. Прошу обратить внимание на то что необходимо исправить на имя ВАШЕГО пользователя.

Небольшое лирическое отступление, может вы ещё не в курсе, что в Finder можно включить отображение скрытых файлов комбинацией клавиш Cmd + Shift + >

Итак ключи лежат на месте можно проверить всё ли у нас работает подключившись к серверу по SSH:

где вместо 127.0.0.1 необходимо подставить ваш ip и вместо , ваш логин на сервере.

Если подключение получилось, то можно пробовать монтировать, но предварительно не забудьте выйти из ssh сессии на сервере, простой командой exit, после чего уже вводим

где вместо 127.0.0.1 необходимо подставить ваш ip и вместо , ваш логин на сервере.
Если терминал не ругнулся, идём в Finder проверять.

Маководы со стажем скажут, что есть же Macfusion и с помощью него всё тоже самое можно сделать в графическом режиме, соглашусь, но почему то последний релиз Macfusion’а оказался не совместим с Mac OS X Sierra.

Надеюсь эта статься окажется кому-нибудь полезной. Я желаю всем счастья =)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Mac os mount sftp
  • Mac os mount ntfs
  • Mac os mono framework
  • Mac os money pro
  • Mac os minecraft free