Как мне перезапустить службу SSH через командную строку на Mac OSX Mountain Lion?
Используя ps aux | grep 'ssh'
, мне удалось сделать вывод, что процесс наиболее вероятен /usr/sbin/sshd
.
Отсюда я искалдокументация sshdна предмет ссылок на «перезапуск», но ничего не найдено.
Я не знаю, каким должен быть мой следующий шаг.
решение1
Видетьэтот ответна аналогичный вопрос на ServerFault. Команда должна быть такой же в Mountain Lion.
Вы можете остановить службу с помощью подкоманды «unload».
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
Обновление, предложенное @MattClark: для перезапуска службы используйте load
после unload
:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
Обратите внимание, что существующие сеансы SSH будут завершены, поэтому вам необходимо выполнить это действие независимо от текущего сеанса пользователя.
решение2
Нет смысла «выгружать» службу sshd, если вместо этого можно просто «Остановить» службу sshd. Она перезапустится сама по себе.
sudo launchctl stop com.openssh.sshd
решение3
Я не могу подтвердить, что ответ Ансгара сработал, поскольку не было никаких сообщений/очевидных признаков, хотя я уверен, что это так.
Я также обнаружил, killall sshd
что это убивает и перезапускает процессы sshd, но при этом все соединения останавливаются.
решение4
Вопрос и ответы, которые вы видите здесь, слишком старые (2012-2013). Я пробовал их в Ventura (выпущен в 2022 году), но ни один из них не работает.
Я завершаю тестирование на двух моих компьютерах Mac (10.11.6/El Capitan@2016 и 13.1/Ventura@2022): оба они предоставляют переключатель графического интерфейса в меню «Настройки|Общие|Общие ресурсы|RemoteLogin».
Просто выключите и включите его. sshd будет перезапущен и прочитает файл sshd_config, чтобы отразить ваши изменения.
(Хотя для этих двух действий существуют соответствующие команды командной строки, я не думаю, что вы удосужитесь их знать.)