Гид по технологиям

Как включить и использовать SSH на Mac

5 min read macOS Обновлено 22 Dec 2025
Как включить и безопасно использовать SSH на Mac
Как включить и безопасно использовать SSH на Mac

Терминал на экране Mac

SSH (Secure Shell) — это зашифрованный сетевой протокол для безопасного удалённого доступа к компьютеру. Он заменяет старые небезопасные протоколы (FTP, telnet и т. п.) и широко используется администраторами, разработчиками и продвинутыми пользователями для управления серверами, безопасной передачи файлов и туннелирования трафика.

Коротко о ключевых свойствах SSH:

  • Работает по умолчанию на порту 22 (можно изменить).
  • Использует симметричное/асимметричное шифрование; для аутентификации часто применяют SSH-ключи.
  • Доступен в macOS, Linux и Unix-системах по умолчанию.

Почему стоит использовать SSH

  • Безопаснее паролей при правильной настройке (используйте ключи и отключите парольную аутентификацию для важной инфраструктуры).
  • Универсальность: удалённый shell, SCP/SFTP для передачи файлов, создание защищённых туннелей.
  • Широкая поддержка на всех платформах и в инструментах вроде Git (для безпарольной авторизации на GitHub).

Где включается SSH на Mac

Apple предоставляет встроенный SSH-сервер на macOS. Его можно включить через графический интерфейс или Терминал.

Шаги в графическом интерфейсе (macOS Ventura и новее):

  1. Откройте Системные настройки.
  2. Перейдите в General > Sharing (Общие > Службы).
  3. Включите переключатель Remote Login (Удалённый вход).
  4. Нажмите кнопку i рядом с Remote Login, чтобы увидеть команду входа, например:
ssh username@192.168.0.44

Menu Общие в Системных настройках macOS

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

Включение Remote Login в Sharing на Mac

Включение SSH через Терминал

Чтобы включить Remote Login из командной строки, выполните в Терминале:

# Включить SSH-сервер
sudo systemsetup -setremotelogin on

# Проверить статус
sudo systemsetup -getremotelogin

# Отключить SSH-сервер
sudo systemsetup -setremotelogin off

Если macOS запрашивает администраторский пароль — введите его.

Как подключиться к Mac по SSH с другого устройства

Для подключения вам нужен доступ в ту же сеть или проброшенный порт/публичный IP. Пример подключения из Android (Termius) или любого терминала:

  1. Узнайте команду входа в настройках Remote Login или выполните в Терминале Mac:
whoami      # ваше имя пользователя
ipconfig getifaddr en0   # пример для Wi‑Fi: покажет локальный IP
# команда входа выглядит как
ssh username@192.168.0.44
  1. На Android установите Termius или любой терминал/эмулятор, в котором есть SSH.
  2. Введите команду ssh username@ip и подтвердите соединение.
  3. При запросе введите пароль учётной записи macOS или используйте SSH-ключ.

Выбор Terminals в Termius на Android

Quick Connect в Termius на Android

Ввод пароля Mac при подключении в Termius

После подключения вы получаете доступ к файловой системе и можете выполнять стандартные команды: ls, cd, mkdir, rm, cp и т. д.

Как настроить SSH-ключи на macOS (рекомендуется)

Генерация ключей и установка публичного ключа на целевой Mac позволяет обходиться без пароля и повышает безопасность.

  1. На клиентской машине (например, на ноутбуке или Android с завершённым терминалом) выполните:
ssh-keygen -t ed25519 -C "your_email@example.com"
# или для совместимости:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. Скопируйте публичный ключ на Mac (если на клиенте доступна утилита ssh-copy-id):
ssh-copy-id username@mac_ip

Если ssh-copy-id недоступна, используйте команду через SSH:

cat ~/.ssh/id_ed25519.pub | ssh username@mac_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
  1. Проверьте подключение:
ssh username@mac_ip
  1. Опционально: на Mac в /etc/ssh/sshd_config отключите PasswordAuthentication и включите PermitRootLogin no для повышения безопасности (редактирование требует прав администратора). После правки перезапустите службу SSH:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Примечание: синтаксис перезапуска может отличаться в версиях macOS; перезагрузка компьютера также применит изменения.

Рекомендации по безопасности

Important: SSH сам по себе безопасен, но его конфигурация определяет уровень риска. Минимальный набор мер:

  • Используйте SSH-ключи ed25519 или RSA 4096.
  • Отключите аутентификацию по паролю для рабочих серверов.
  • Ограничьте доступ по конкретным пользователям в System Settings или через AllowUsers в sshd_config.
  • При необходимости поменяйте порт по умолчанию (например, на 2222) и настройте правила брандмауэра.
  • Включите двухфакторную аутентификацию там, где это возможно.
  • Отключайте Remote Login, когда не нужен.

Ограничение доступа и брандмауэр

macOS имеет встроенный Application Firewall и возможности pf для продвинутых правил. Для простоты:

  • Разрешите входящие соединения для SSH в Системных настройках > Сеть > Брандмауэр или добавьте правило в pf.
  • Используйте маршрутизатор/брандмауэр для ограничения доступа по IP, если доступ нужен только из домашней/офисной сети.

Когда SSH может не работать и как исправлять

Типичные причины и шаги проверки:

  • Не тот IP/интерфейс: используйте ipconfig getifaddr en0 или en1 и проверьте локальный IP.
  • SSH отключён: проверьте sudo systemsetup -getremotelogin.
  • Брандмауэр блокирует порт 22: временно отключите брандмауэр или добавьте правило.
  • Неправильные права на ~/.ssh или authorized_keys: папке ~/.ssh должно быть 700, файлу 600.
  • Конфликт порта: убедитесь, что порт не занят другим процессом.

Примеры команд для диагностики

# Проверить слушает ли sshd
sudo lsof -iTCP -sTCP:LISTEN -P | grep ssh

# Показать список пользователей с правом удалённого входа
# Через графический интерфейс: System Settings > General > Sharing > Remote Login

# Проверить права каталогов и файлов SSH
ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys

Мини‑методология безопасного включения SSH (шаги)

  1. Включите Remote Login локально через System Settings или sudo systemsetup -setremotelogin on.
  2. Сгенерируйте SSH-ключ на клиенте и установите публичный ключ на Mac.
  3. Проверьте подключение и права доступа к ~/.ssh.
  4. Ограничьте доступ по пользователям и/или IP.
  5. Отключите PasswordAuthentication в /etc/ssh/sshd_config для сервера, где это допустимо.
  6. Отключайте Remote Login, когда не нужен.

Контрольный список для ролей

Администратор:

  • Включил Remote Login при необходимости
  • Настроил SSH-ключи для всех администраторов
  • Отключил PasswordAuthentication
  • Ограничил доступ по IP или списку пользователей
  • Проверил логи на предмет неудачных попыток входа

Пользователь:

  • Сгенерировал локальный ключ ed25519
  • Убедился в правах ~/.ssh
  • Подключился и проверил доступ к нужным файлам

Критерии приёмки

  • Удалённый вход работает с SSH-ключем без запроса пароля.
  • При отключённом Remote Login вход невозможен.
  • Права на ~/.ssh и authorized_keys корректны (700/600).
  • Парольная аутентификация отключена (если это требование безопасности).

Когда не стоит полагаться на SSH

  • Для передачи больших объёмов данных стоит использовать специализированные решения (например, rsync через SSH или SFTP с оптимизацией).
  • Для графических приложений лучше использовать VNC/РДС с TLS‑туннелированием.

Мермайд-диаграмма принятия решения

flowchart TD
  A[Нужно удалённое управление Mac?] -->|Да| B[Есть локальный доступ к Mac?]
  B -->|Да| C[Включить Remote Login и настроить ключи]
  B -->|Нет| D[Настроить проброс портов или VPN]
  C --> E[Ограничить доступ по пользователям/IP]
  D --> E
  E --> F[Тестировать подключение и мониторить логи]

Итог

SSH на Mac — простой и надёжный инструмент для удалённого доступа и управления. Включите Remote Login только при необходимости, используйте SSH‑ключи вместо паролей, ограничьте доступ и следите за логами. После работы отключайте Remote Login, чтобы снизить поверхность атаки.

Короткое объявление: Включить SSH на Mac можно за две минуты: System Settings → General → Sharing → Remote Login. Для безопасности используйте ed25519‑ключи и выключайте Remote Login, когда он не нужен.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как сделать бэкап и восстановить WhatsApp из Google Drive
Мобильные приложения

Как сделать бэкап и восстановить WhatsApp из Google Drive

Как отправить сообщение многим в WhatsApp
Руководство

Как отправить сообщение многим в WhatsApp

Как блокировать приложения на Android — Hexlock
Mobile

Как блокировать приложения на Android — Hexlock

Как показывать презентацию PowerPoint в Microsoft Teams
Microsoft Teams

Как показывать презентацию PowerPoint в Microsoft Teams

Скрыть превью WhatsApp на iPhone
Конфиденциальность

Скрыть превью WhatsApp на iPhone

Управление Microsoft 365: настройки, устройства, безопасность
Администрирование

Управление Microsoft 365: настройки, устройства, безопасность