macOS

Как активировать SSH-сервер на macOS: подробное руководство

Этот гайд объясняет, как активировать встроенный SSH-сервер на macOS, чтобы подключаться к Mac удалённо через терминал. После выполнения вы сможете использовать SSH для администрирования.

Обновлено 15 февраля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:macOS 12 MontereymacOS 13 VenturamacOS 14 Sonoma

Введение / Зачем это нужно

SSH (Secure Shell) — это протокол для безопасного удалённого доступа к вашему Mac. Включив SSH-сервер, вы сможете подключаться к компьютеру с другого устройства через терминал, выполнять команды, передавать файлы и управлять системой. Это особенно полезно для системных администраторов, разработчиков или если вы хотите получить доступ к Mac, находящемуся в другой комнате или даже в другом городе. После активации вы получите полноценный удалённый доступ без необходимости использования графического интерфейса.

Требования / Подготовка

Перед началом убедитесь, что:

  • У вас есть Mac с macOS 10.14 Mojave или новее (инструкция актуальна для macOS Ventura и Sonoma).
  • Вы вошли в учётную запись с правами администратора.
  • Ваш Mac подключён к сети (если планируете удалённые подключения).
  • Рекомендуется иметь статический IP-адрес или настроить Dynamic DNS, если вы хотите подключаться извне локальной сети.

Шаг 1: Включите SSH через Системные настройки

Это наиболее простой способ для пользователей, предпочитающих графический интерфейс.

  1. Откройте меню Apple () и выберите Системные настройки.
  2. В зависимости от версии macOS:
    • Для macOS Ventura и Sonoma: в левом боковом меню выберите Общие (General), затем прокрутите вниз до раздела Удалённый вход (Remote Login).
    • Для macOS Monterey и старее: откройте Общий доступ (Sharing) и найдите Удалённый вход (Remote Login) в списке служб.
  3. Активируйте переключатель рядом с Удалённый вход. Если потребуется, введите пароль администратора в появившемся диалоге.
  4. По умолчанию доступ разрешён для всех пользователей. Чтобы ограничить, нажмите Параметры... (или Дополнительно) и выберите Только эти пользователи, затем добавьте нужных из списка.

💡 Совет: Для безопасности рекомендуется разрешать доступ только конкретным учётным записям с минимальными привилегиями, а не всем пользователям.

Шаг 2: Включите SSH через терминал (альтернативный способ)

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

  1. Откройте Терминал (Terminal) из папки Утилиты или через Spotlight (Cmd+Пробел, введите "Терминал").
  2. Выполните команду:
    sudo systemsetup -setremotelogin on
    
    Введите пароль администратора при запросе (символы не отображаются).
  3. Чтобы выключить SSH-сервер позже, используйте:
    sudo systemsetup -setremotelogin off
    

Эта команда включает тот же самый SSH-сервер, что и через Системные настройки, но без графического интерфейса.

Шаг 3: Настройте параметры доступа

После включения SSH важно настроить, какие пользователи могут подключаться, чтобы минимизировать риски.

  1. Вернитесь в раздел Удалённый вход в Системных настройках (как описано в Шаге 1).
  2. Нажмите Параметры... (или Дополнительно).
  3. Выберите один из вариантов:
    • Все пользователи: любой локальный пользователь может подключаться (не рекомендуется для публичных сетей).
    • Только эти пользователи: добавьте конкретных пользователей из списка. Рекомендуется использовать учётные записи без прав администратора для повседневных задач.
  4. Нажмите OK для сохранения.

⚠️ Важно: Убедитесь, что у выбранных пользователей есть пароль, даже если вы используете SSH-ключи для аутентификации.

Шаг 4: Проверьте работу SSH-сервера

Теперь убедитесь, что сервис запущен и готов к подключениям.

  1. В Терминале проверьте статус службы:
    sudo launchctl list | grep ssh
    
    Если вы видите строку с com.openssh.sshd, значит сервис активен. Если нет, запустите вручную:
    sudo launchctl start com.openssh.sshd
    
  2. Для тестового локального подключения (с того же Mac) выполните:
    ssh ваш_пользователь@localhost
    
    Замените ваш_пользователь на имя вашей учётной записи (узнайте через whoami). При первом подключении вы увидите сообщение о fingerprint хоста — введите yes для подтверждения. Затем введите пароль пользователя.
  3. Если подключение прошло успешно, вы окажетесь в оболочке shell вашего Mac. Чтобы выйти, введите exit.

Шаг 5: Настройте брандмауэр (опционально, но рекомендуется)

Если на вашем Mac включён встроенный брандмауэр или вы используете внешний роутер, необходимо разрешить трафик на порт 22 (стандартный порт SSH).

  1. Брандмауэр macOS:
    • Откройте Системные настройкиСетьБрандмауэр (в Ventura: Системные настройкиСетьБрандмауэр).
    • Нажмите Параметры брандмауэра... (или Дополнительно).
    • Убедитесь, что для Удалённый вход (SSH) стоит галочка в колонке "Разрешить входящие подключения". Если нет, добавьте правило:
      • Нажмите + и выберите Удалённый вход из списка служб.
      • Установите флажок и нажмите OK.
  2. Роутер (для доступа из интернета):
    • Если вы хотите подключаться к Mac извне локальной сети, настройте проброс портов (port forwarding) на вашем роутере: перенаправьте внешний порт 22 на локальный IP-адрес вашего Mac и порт 22.
    • Узнайте локальный IP вашего Mac через ifconfig (ищите en0 или en1 и адрес inet).
    • Для доступа извне используйте внешний IP вашего роутера (или Dynamic DNS). Внимание: открытие порта 22 в интернете повышает риски взлома — обязательно измените стандартный порт SSH и используйте SSH-ключи.

Проверка результата

После выполнения всех шагов, вы должны иметь работающий SSH-сервер. Для окончательной проверки:

  1. Определите локальный IP-адрес вашего Mac:
    ifconfig | grep "inet " | grep -v 127.0.0.1
    
    Пример вывода: inet 192.168.1.105.
  2. С другого компьютера в той же сети (например, ноутбука или телефона с SSH-клиентом) выполните:
    ssh ваш_пользователь@192.168.1.105
    
    Замените ваш_пользователь и 192.168.1.105 на ваши данные.
  3. Если подключение успешно, вы увидите приглашение командной строки вашего Mac. Попробуйте выполнить простую команду, например, ls или pwd.
  4. Для удалённого доступа из интернета (если настроили проброс портов) используйте внешний IP или домен вашего роутера.

Если всё работает, вы готовы к удалённому управлению Mac через SSH.

Возможные проблемы

При включении или использовании SSH могут возникнуть следующие типичные ошибки:

  1. Ошибка "Connection refused" или "No route to host"
    • Причина: SSH-сервер не запущен, порт 22 закрыт брандмауэром или неверный IP-адрес.
    • Решение:
      • Проверьте статус службы: sudo launchctl list | grep ssh. Если не активен, запустите: sudo launchctl start com.openssh.sshd.
      • Убедитесь, что брандмауэр macOS разрешает порт 22 (см. Шаг 5).
      • Проверьте IP-адрес Mac через ifconfig и убедитесь, что он в той же сети, что и клиент.
  2. Ошибка "Permission denied (publickey,password)"
    • Причина: Неверное имя пользователя, пароль или отсутствует SSH-ключ в ~/.ssh/authorized_keys.
    • Решение:
      • Убедитесь, что используете правильное имя пользователя (то, что отображается в whoami на целевом Mac).
      • Проверьте, что учётная запись разрешена для удалённого входа (Шаг 3).
      • Если используете ключи, скопируйте публичный ключ на Mac в ~/.ssh/authorized_keys с правами 600.
      • Сбросьте пароль пользователя через Системные настройкиПользователи и группы, если забыли.
  3. SSH-сервер не включается через System Preferences
    • Причина: Конфликт с другим ПО (например, сторонние SSH-серверы) или повреждение настроек.
    • Решение:
      • Попробуйте включить через терминал: sudo systemsetup -setremotelogin on.
      • Проверьте, нет ли других служб, слушающих порт 22: sudo lsof -i :22.
      • Если проблема persists, перезагрузите Mac и попробуйте снова.
      • Просмотрите логи SSH: sudo log show --predicate 'process == "sshd"' --last 1h.
  4. Подключение разрывается или очень медленное
    • Причина: Сетевые задержки, настройки DNS или неоптимальные параметры SSH.
    • Решение:
      • Убедитесь, что оба компьютера в одной сети без перегруженных роутеров.
      • Попробуйте использовать IP-адрес вместо hostname.
      • На стороне сервера (вашем Mac) отредактируйте /etc/ssh/sshd_config (с правами sudo) и добавьте UseDNS no для ускорения, затем перезапустите сервис: sudo launchctl stop com.openssh.sshd && sudo launchctl start com.openssh.sshd.
      • Для медленных соединений можно включить сжатие: добавьте Compression yes в sshd_config.
  5. Брандмауэр или антивирус блокирует подключения
    • Причина: Встроенный брандмауэр или сторонний софт (например, Little Snitch) блокирует порт 22.
    • Решение:
      • Проверьте настройки брандмауэра macOS (Шаг 5) и убедитесь, что правило для SSH разрешено.
      • Если используете антивирус или фаервол, добавьте исключение для sshd (обычно /usr/sbin/sshd) и порта 22.
      • Временно отключите сторонний софт для диагностики.

Если проблема не решена, проверьте, не блокирует ли ваш интернет-провайдер входящие SSH-подключения (редко, но бывает), или обратитесь к документации Apple: man sshd и man ssh_config.

Часто задаваемые вопросы

Нужно ли перезагружать Mac после включения SSH?
Как проверить, что SSH-сервер работает?
Можно ли изменить порт SSH для безопасности?
Почему я не могу подключиться к SSH с другого компьютера?

Полезное

Включите SSH через Системные настройки
Включите SSH через терминал (альтернатива)
Настройте доступ для пользователей
Проверьте статус SSH-сервера
Настройте брандмауэр (опционально)

Эта статья помогла вам решить проблему?