- Перезагрузка компьютеров с помощью Терминала на Mac
- Перезагрузка локального компьютера
- Немедленная перезагрузка удаленного компьютера
- Перезагрузка удаленного компьютера в определенное время
- Автоматическая перезагрузка при сбое питания
- Exit SSH session in OSX Terminal
- 5 Answers 5
- Как я могу предотвратить зависание сессии SSH в Терминале OS X?
- Автоматически переподключать SSH после прерывания сна или Wi-Fi
- Автоматически SSH после входа в систему
- Как перезапустить службу SSH?
- 7 ответов
- 15.04 и новее:
- До 15.04:
- Как изменить порт sshd в Mac OS X?
Перезагрузка компьютеров с помощью Терминала на Mac
Чтобы перезагрузить компьютер немедленно или в определенное время с помощью приложения «Терминал», используйте команду shutdown или systemsetup . В следующих примерах показано несколько способов использования этих команд. Полная информация о них приведена на man-странице команды shutdown и man-странице команды systemsetup.
Совет. Можно легко перезагрузить Mac, выбрав меню «Apple»
> «Перезагрузить», или выключить компьютер, выбрав меню «Apple» > «Выключить». См. раздел Выход из системы, переход в режим сна, перезагрузка и выключение Mac.
Перезагрузка локального компьютера
В приложении «Терминал» на Mac введите следующую команду:
Немедленная перезагрузка удаленного компьютера
В приложении «Терминал» на Mac введите следующие команды:
Вместо admin укажите короткое имя учетной записи пользователя на удаленном компьютере.
Вместо computer укажите IP-адрес или имя хоста удаленного компьютера.
Перезагрузка удаленного компьютера в определенное время
В приложении «Терминал» на Mac введите следующие команды:
Вместо admin укажите короткое имя учетной записи пользователя на удаленном компьютере.
Вместо computer укажите IP-адрес или имя хоста удаленного компьютера.
Вместо hhmm укажите время перезагрузки удаленного компьютера (в формате ччмм).
Автоматическая перезагрузка при сбое питания
В приложении «Терминал» на Mac введите следующую команду:
Вместо seconds укажите количество секунд, по прошествии которых компьютер должен загружаться после сбоя питания. Значение должно быть равно 0 (нуль) или быть кратно 30.
Примечание. Можно также задать настройки энергосбережения, чтобы компьютер Mac автоматически перезагружался после сбоя питания.
Источник
Exit SSH session in OSX Terminal
I connected to a server via SSH in Terminal (OSX), but now anytime I open Terminal, it logs me back in. If I logout, I cannot type anything or do anything.
How do I exit back to the regular terminal so I can run a script on my mac? I realize this is probably a really noob question.
5 Answers 5
You can press Ctrl + D that will exit the terminal.
Try using the exit command in the Terminal.
When exit doesn’t work, I often have to use Enter
. (that is ENTER TILDE PERIOD) to log out of the emote server without killing the terminal window. This dumps me back into my local machine prompt.
. was a thing until today.
If you’re using Mac OS X 10.7 Lion or later, Terminal automatically restores windows and terminal sessions that were open when you Quit (see “Resume” on the What’s New page for Lion). If you created the SSH session with the Shell > New Remote Connection… command, Terminal will remember and create that connection again when restoring that terminal.
If this is what you’re encountering, just close that terminal window/tab and create a new one.
If new terminals also exhibit this behavior, you likely have a custom command in your preferences. Look at Preferences > Settings > [profile] > Shell > Startup > Run command and see if there’s a command in the text field. If so, remove it.
Also check Preferences > Startup > Shells open with: to see if there’s a custom command being used for the shell.
Источник
Как я могу предотвратить зависание сессии SSH в Терминале OS X?
Когда я закрываю свой MacBook с активным сеансом SSH в Терминале, а затем просыпаюсь, приглашение перестает отвечать на запросы.
Примерно через пять минут он говорит
Это также происходит, когда я ничего не печатаю в Терминале примерно через пятнадцать минут.
Могу ли я заставить OS X:
- Поддерживайте подключение SSH как можно дольше
- Убей его немедленно, как только он перестанет отвечать
Чтобы сохранить соединение живым , вы можете проверить в /etc/ssh/ssh_config строке, где оно говорит ServerAliveInterval , говорит вам, как часто (в секундах) ваш компьютер будет отправлять нулевой пакет, чтобы поддерживать соединение живым. Если у вас есть 0, это указывает на то, что ваш компьютер не пытается поддерживать соединение активным (оно отключено), в противном случае он сообщает вам, как часто (в секундах) он отправляет вышеупомянутый пакет. Попробуйте ввести значение 120 или 240, если оно все еще убивает ваше соединение, вы можете понизиться, может быть до 5, если с этим номером этого не произойдет, возможно, именно ваш маршрутизатор сбрасывает соединение в свободную память.
Чтобы убить его, когда он зависнет , вы можете использовать escape-символ ssh:
То есть, нажмите тильду, а затем точку, если она не работает, нажмите Enter перед тем, как нажать, что немедленно прервет соединение.
. , отличный совет! Но что это на самом деле делает?
. не работает для меня в течение нескольких минут. Почему это?
Сконфигурируйте свою систему для всей системы для всех соединений. Отредактировав : / etc / ssh / ssh_config и добавив строку:
Или для каждого сервера
Что это в основном делает, отправляет пакет live keep каждые 10 секунд .
Вы также можете попробовать использовать удивительный проект mosh . Он будет корректно обрабатывать потери в сети, отключать машины и т. Д. И успешно восстанавливать соединение, когда у вас снова будет рабочая сеть.
Еще одно проверенное временем решение — использовать tmux на удаленной машине. В этом случае вы все равно можете получить сломанный канал, но если вы переподключите свою оболочку, приложения будут ждать, как только вы их покинули.
Различные ответы здесь противоречат точному пути к файлам конфигурации. Может в разных юниксах по-разному? Я предлагаю прочитать справочные страницы в вашей системе!
В man ssh (1) найдите текст: config . В моей системе у меня есть выбор файлов конфигурации для всей системы или для этого пользователя (и пути странно разные).
В man ssh_config (5) ищите текст: жив . В моей системе, похоже, мне нужно установить ServerAliveInterval и ServerAliveCountMax .
В macOS 10.12 Sierra у меня работает то, что я поместил следующие две строки в
Теперь я могу подключиться к серверу Ubuntu 16.04 без отключения в течение 20 * 180 секунд = 1 час. Сделал мой день!
Автоматически переподключать SSH после прерывания сна или Wi-Fi
Установите autossh из MacPorts или Homebrew: brew install autossh
Откройте терминал и запустите autossh -M 20000 -f [SSH ARGUMENTS GO HERE]
Отключите Wi-Fi или переведите Mac в режим сна.
Когда вы переподключитесь к Wi-Fi, сессия SSH будет автоматически переподключена.
Автоматически SSH после входа в систему
Джон Стейси написал в блоге сообщение об автоматической активации сеанса SSH при входе в систему.
Установите autossh из MacPorts или Homebrew: brew install autossh
Создайте рабочий процесс Automator с помощью bash-скрипта.
- Перейдите к пунктам входа в Системные настройки .
- Добавьте ваш рабочий процесс Automator в элементы входа .
Источник
Как перезапустить службу SSH?
Как мне остановить / запустить ssh? Я пробовал
Я получаю ошибки каждый раз.
7 ответов
15.04 и новее:
Используйте эту команду:
Для перезапуска сервера / демона SSH.
Продвигаясь вперед с systemd , начиная с Ubuntu 15.04 , теперь вы используете этот синтаксис для остановки, запуска или перезапуска служб:
До 15.04:
Он должен быть таким же простым, как (проверено на новой установке с openssh-server)
Поскольку он использует выскочку , это Лучше всего сделать это вместо использования /etc/init.d/ssh, службы или прямого вызова sshd. Обязательно запустите обе команды; если вы получите сообщение об ошибке stop ssh , все равно запустите ssh и посмотрите, что там написано — служба уже может быть остановлена.
(я бы рекомендовал stop ] / запустить поверх перезапустить , если вы не пытаетесь перезапустить систему удаленно. Если ssh уже остановлен, перезапуск не запустит , а не это.)
Если эти команды не работают, вы, вероятно, либо столкнулись с ошибкой, либо слишком сильно повозились со своей системой, и в этом случае вы, по крайней мере, знаете, в чем проблема.
Команда для перезапуска службы ssh :
Начиная с Ubuntu 15.04, Canonical больше не поставляет выскочку по умолчанию .
Таким образом, команды start , stop и restart больше не доступны.
Правильный метод перезапуска службы SSH (или любой другой службы) сейчас является одной из двух следующих команд:
Я думаю, что ошибка неизвестного экземпляра вызвана тем, что SSH не запущен.
Чтобы узнать, запущен ли демон SSH, вам следует см. что-то вроде:
В любом случае просто попробуйте любой из этих:
sudo /etc/init.d/ssh start
sudo start ssh
Сначала проверьте, работает ли sshd, используя следующее:
Вы должны увидеть что-то вроде:
Если вы не видите строку для / usr / sbin / sshd -D , тогда sshd либо никогда не запускался, либо аварийно завершился, что потребует f urther, чтобы выяснить причину.
Если вы видите эту строку, выполните следующую команду:
Это должно напечатать идентификатор процесса sshd, поэтому в этом случае вы должны увидеть:
Если содержимое sshd. pid не соответствует идентификатору процесса запущенного экземпляра sshd, значит, что-то его неправильно перезапустило. Но какие бы подробности вы здесь ни нашли, они должны направить вас на верный путь. Либо он дает сбой, либо неправильно перезагружается, либо вообще не запускается.
На рабочем столе Ubuntu:
Сначала проверьте статус службы:
должен показать: — Активно: активно (работает) Если она работает, в этом нет необходимости чтобы перезапустить его. Если вы все еще хотите перезапустить его, Ubuntu вызывает службу ssh, а не sshd.
Но если это не рабочий стол Ubuntu, с помощью интерфейса командной строки:
Служба также управляется выскочкой, а не sysvinit. Таким образом, вы найдете его в /etc/init/ssh.conf вместо /etc/init.d/ssh.
Если вы хотите изменить некоторые настройки (например, порт прослушивания и разрешение на вход root), отредактировав файл конфигурации с помощью команды:
На рабочем столе Ubuntu вы можете использовать gedit вместо nano:
Наконец, примените изменения, перезапустив или перезагрузив SSH:
Если описанное выше по-прежнему не работает, введите следующее:
Если все вышеперечисленное не помогло, попробуйте перезапустить систему ubuntu:
Источник
Как изменить порт sshd в Mac OS X?
Я хочу изменить, какой порт sshd используется на сервере Mac. Например, скажем, от порта 22 до порта 32.
Редактирование /etc/sshd_config не похоже на работу. Кто-нибудь знает как это поменять? Я бы предпочел метод, который совместим со всеми версиями OSX (или, по крайней мере, с максимально возможным количеством).
Каждый предыдущий ответ работает (как и Google предлагает), но они грязные и не элегантные .
Правильный способ изменить порт прослушивания для службы с запуском в Mac OS X — это сделать изменения выделенными ключами доступными в ssh.plist
Таким образом, решение так же просто, как использовать номер порта вместо имени службы.
Отрывок из моей редакции /System/Library/LaunchDaemons/ssh.plist :
Примечание: чтобы иметь возможность редактировать этот файл в El Capitan, Sierra и, возможно, в будущих версиях, вам необходимо отключить SIP (защита целостности системы). См. Как отключить защиту целостности системы (SIP) [. ] .
Приведенное выше редактирование также заставит sshd прослушивать только через IPV4.
После внесения любых изменений ssh.plist , файл должен быть перезагружен следующим образом:
Обратите внимание, что использование launchctl stop . и launchctl start . НЕ перезагрузит этот файл.
Справочную страницу с дополнительной информацией можно найти, введя man launchd.plist или используя эту ссылку .
Если вы хотите, чтобы sshd прослушивал дополнительный порт, вы можете добавить несколько записей в словарь Sockets.
Из того, что я прочитал (и испытал) до сих пор, есть три основных метода, которые можно использовать:
- изменить настройку в файле ssh.plist;
- измените настройку в файле / etc / services;
- измените настройку в файле /etc/sshd.conf.
Другой способ сделать это, который я лично предпочитаю всем и каждому из этих методов, потому что он избегает возиться с системными файлами Mac OS X, — это использовать socat для перенаправления порта 22 на любой порт, который вы хотите.
- Скачать socat: http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
- Переместите файл tar.gz в каталог / usr / local / ( sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz )
- Перейдите в каталог / usr / local / bin ( cd /usr/local/bin )
- Распаковка: sudo tar -xvzf socat-1.7.3.2.tar.gz
- Переместитесь в несжатый каталог файлов: cd ./socat-1.7.3.2
- Запустите обычную команду configure, make и make install для установки socat ( sudo ./configure && sudo make && sudo make install )
- Перенаправьте порт 22 (по умолчанию ssh) на любой порт, который вы хотите (в следующем примере, 2222), используя правильную опцию, отправив вызов socat ( sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22 )
Вы сделали, и ваши системные файлы Mac OS X остались без изменений. Кроме того, этот метод работает не только на Snow Leopard, но и на всех версиях Mac OS X, а также на любой машине, на которой может работать socat.
Последнее, что вам нужно сделать, если вы используете маршрутизатор / брандмауэр, это включить правильные команды перенаправления в ваш маршрутизатор / брандмауэр.
Источник