Командний рядок 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.