Все современные Mac, работающие под управлением MacOS или Mac OS X, поставляются с предустановленным SSH по умолчанию, но демон SSH (Secure Shell) также отключен по умолчанию. Продвинутые пользователи Mac могут по достоинству оценить, что способность включить SSH и отключить SSH оба доступны полностью из командной строки Mac OS, что позволяет просто разрешить или запретить удаленные подключения к компьютеру. Нет загрузки, загрузки или компиляции kext, чтобы включить SSH из терминала на любом Mac, вам просто нужно выполнить команду настройки системы, как мы покажем в этом уроке.
Быстрая заметка; это руководство относится ко всем версиям macOS и Mac OS X, но действительно нацелено на более продвинутых пользователей, которые проводят много времени в терминале. Если вы хотите отключить и выключить SSH и избежать командной строки, вы можете сделать это, включив Remote Login в панели настроек совместного доступа на Mac или остановив сервер, оставив его непроверенным. Если вы не используете обычный ssh, нет причин для включения ssh-сервера на Mac.
Как проверить, включен ли SSH Remote Login в Mac OS через терминал
Хотите проверить текущий статус SSH на Mac? Используя командную строку systemetup, мы можем быстро определить, включен ли SSH и Remote Login на любом Mac:
sudo systemsetup -getremotelogin
Если в настоящий момент включен удаленный вход в систему и SSH, в команде и отчете указывается «Remote Login: On», тогда как если SSH отключен и в состоянии macOS по умолчанию, он скажет «Remote Login: Off».
Включить SSH на Mac из командной строки с помощью systemetup
Чтобы быстро включить SSH-сервер и разрешить входящие подключения ssh к текущему Mac, используйте флаг -setremotelogin с системным набором следующим образом:
sudo systemsetup -setremotelogin on
sudo необходимо, потому что для команды systemetup требуются права администратора, так же, как при включении удаленного входа из настроек общего доступа на Mac для включения защищенных серверов оболочки.
Нет подтверждения или сообщения о том, что удаленный вход и SSH включены, но вы можете использовать вышеупомянутый флаг -getmorelogin, чтобы проверить и убедиться, что сервер SSH действительно запущен. И да, использование -setremotelogin применяется для включения как ssh, так и sftp-серверов на Mac.
После того, как ssh активирован, любая учетная запись пользователя или лицо, у которого есть логин на текущем Mac, может получить к нему доступ удаленно, используя команду ssh, нацеленную на IP-адрес Macs следующим образом:
ssh osxdaily@192.168.1.115
После подключения пользователь получит удаленный доступ к компьютеру через командную строку, и если у них есть учетная запись администратора или пароль администратора, у них также будет полный доступ к удаленному администрированию.
Отключить SSH на Mac OS с помощью systemetup
Если вы хотите отключить SSH-серверы из командной строки и тем самым предотвратить удаленные подключения, просто переключите «on» на «off» с флагом -setremotelogin системного набора следующим образом:
sudo systemsetup -setremotelogin off
Опять же, sudo необходимо отключить SSH и отключить сервер ssh и sftp.
Когда вы успешно выполните команду, вам будет предложено: поэтому введите «да», чтобы подтвердить, что отключит SSH, а также отключит любые активные SSH-подключения к рассматриваемому Mac. Если вы хотите избежать ввода да / нет, возможно, для включения в скрипт установки или иначе, вы можете использовать флаг -f, чтобы обойти вопрос так:
sudo systemsetup -f -setremotelogin off
Аналогично, вы также можете использовать -f, чтобы пропустить любые подсказки в отношении включения SSH.
systemetup -f -setremotelogin on
Обратите внимание, что если вы отключите SSH или включите SSH из командной строки, настройка панели предпочтений системы удаленного входа в Mac OS X GUI будет скорректирована так, чтобы соответственно отражать изменения.