Введение / Зачем это нужно
Включение SSH-сервера на Mac открывает удобный способ удалённого управления компьютером. С его помощью вы можете выполнять команды, копировать файлы и администрировать систему из любой точки сети, где есть интернет. После выполнения этой инструкции SSH будет настроен корректно, безопасно и готов к использованию.
Требования / Подготовка
- macOS версии 11 (Big Sur), 12 (Monterey) или 13 (Ventura) (или новее).
- Учетная запись с правами администратора.
- Доступ в интернет (для удалённого подключения).
- SSH-сервер обычно предустановлен, но убедитесь, что он не отключён в системных настройках.
Пошаговая инструкция
Шаг 1: Откройте Системные настройки и перейдите в раздел «Поделиться»
Нажмите на значок Apple → Системные настройки → Поделиться. В этом меню вы найдёте пункт Удалённый доступ, управляющий SSH-сервером.
Шаг 2: Включите службу «Удалённый доступ»
Поставьте галочку рядом с Удалённый доступ. macOS автоматически запустит SSH-демон и добавит текущих пользователей в группу удалённого доступа.
Шаг 3: Проверьте, что SSH работает
Откройте Терминал и выполните команду ssh localhost. Если подключение успешно, вы увидите приглашение ввода команд.
Шаг 4: Настройте брандмауэр, если он включён
Если используется встроенный брандмауэр macOS, разрешите входящие соединения для SSH: Системные настройки → Сеть → Брандмауэр → Включить встроенный брандмауэр → Правила служб → добавьте правило SSH.
Шаг 5: Создайте SSH-ключ для удобного входа
Если у вас ещё нет ключа, сгенерируйте его: ssh-keygen -t ed25519 -C "macbook@home" -N "". Затем добавьте публичный ключ в ~/.ssh/authorized_keys на Mac.
Шаг 6: Дополнительная настройка: ограничение пользователей
Отредактируйте файл /etc/sshd_config, добавив строку AllowUsers user1 user2. После сохранения перезапустите службу: sudo launchctl reload com.openssh.sshd.
Проверка результата
Чтобы убедиться, что SSH работает:
- На другом устройстве откройте Терминал или SSH-клиент.
- Подключитесь к вашему Mac по IP-адресу или доменному имени:
ssh username@<your‑mac‑ip‑or‑hostname>. - Если вы видите командный промпт, настройка успешна.
Вы также можете проверить статус службы локально: launchctl list | grep sshd или ps aux | grep [s]shd.
Возможные проблемы
- SSH не запускается после включения «Удалённого доступа»
- Причина: служба отключена вручную.
- Решение: выполните
sudo launchctl load -w /System/Library/LaunchDaemons/com.openssh.sshd.plist.
- Ошибка доступа при подключении
- Причина: пользователь не добавлен в группу «Удалённый доступ».
- Решение: в Системных настройках → Поделиться → Удалённый доступ убедитесь, что нужные пользователи отмечены.
- Брандмауэр блокирует соединение
- Причина: правило для SSH отсутствует.
- Решение: добавьте правило SSH в настройках брандмауэра (см. шаг 4).
- Слишком много пользователей в AllowUsers
- Причина: список пользователей пуст или содержит несуществующие аккаунты.
- Решение: проверьте
/etc/sshd_configи укажите реально существующие имена.
- Старый SSH-ключ не работает
- Причина: ключ удалён или истёк срок действия.
- Решение: сгенерируйте новый ключ (
ssh-keygen) и добавьте его в~/.ssh/authorized_keys.