Командний рядок SSH перезапустіть Mac OSX Mountain Lion


62

Як я можу перезапустити службу SSH через командний рядок на Mac OSX Mountain Lion?

Використовуючи ps aux | grep 'ssh', я зміг зробити висновок, що процес є найбільш імовірним /usr/sbin/sshd.

Звідси я шукав документацію на sshd і знайшов посилання на «перезапуск», але не знайшов жодної.

Я не знаю, яким повинен бути наступний мій крок.


4
Що ви насправді намагаєтесь досягти? Якщо це щось на зразок перезавантаження конфігурації sshd, вам не потрібно - запускати запускає новий процес sshd на вимогу, коли надходить вхідне з'єднання, а це означає, що конфігурація автоматично перечитується для кожного нового з'єднання. OTOH, якщо ви намагаєтесь змінити налаштування слухача, вони керуються запуском, а не конфігурацією sshd (див. Тут ).
— Гордон Девіссон

1
Це був лише один тест налагодження запиту пароля від нібито безкористувацького ssh за допомогою відкритих ключів. Виявляється, те, що я пропустив, було вимкнути StrictMode
— James Webster

Відповіді:


42

Дивіться цю відповідь на подібне запитання на ServerFault. Команда повинна бути такою ж у Гірського Лева.

Ви можете зупинити послугу, використовуючи підкоманду "вивантажити".

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 будуть припинені, тому вам потрібно запустити цю незалежність від поточного сеансу користувача.


Цей отримує менеlaunchctl: Error unloading: com.openssh.sshd
— Nicolas Miari

1
@MattClark Тоді я пропоную вам триматися подалі від виробничих машин, поки не поліпшите своє розуміння читання. З моєї відповіді: "Ви можете зупинити послугу ..." (наголос мій).
— Ansgar Wiechers

3
Ви маєте рацію, я це неправильно прочитав, це була моя вина. Однак це також не дало відповіді на запитання, яке було задано.
— Метт Кларк

Ви можете запустити це за один раз за допомогою Cx Ce (C означає Control). Вставте його в термінал, потім Cx Cc для виконання команди emacs kill, яка запропонує вам зберегти. Я це робив віддалено, і це не вбило моє з'єднання ... враховуючи, що ваш конфігурація є правильною.
— Рей Фосс

92

Немає причин "розвантажувати" службу sshd, коли натомість ви можете просто "Зупинити" службу sshd. Він перезапуститься самостійно.

sudo launchctl stop com.openssh.sshd

2
на мур лев:launchctl stop error: No such process
— RickyA

1
@RickyA: Чудово працював на OSX Mavericks
— neu242

Тут не працює ( launchctl stop error: No such process)
— Nicolas Miari

1
Потрібно, sudoоскільки саме так воно і запускається. Порівняйте запущені демони / агенти launchctl list | grep -i opensshпроти sudo launchctl list | grep -i openssh. Для ознайомлення читайте посилання
— startctl

Це більше не працює в OS X Yosemite, спроба зупинити sshd (як root) призводить до статусу виходу 3, і служба продовжує працювати.
— RCross

4

Я не міг підтвердити, що відповідь Ансгара спрацювала, оскільки не було жодних повідомлень / очевидних ознак, хоча я впевнений, що так і було.

Я також виявив, killall sshdщо вбиває та відновлює процеси sshd з тим недоліком, що будь-які з'єднання припиняються.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.