Перезагрузить ssh mac os

Обновлено: 07.07.2024

Мне нужно запустить эту команду с момента обновления до macOS:

Исправляет проблему после перезагрузки, но я должен запускать эту команду при каждом входе в систему на своем компьютере.

Если я не запускаю приведенную выше команду, мои ключи в

/.ssh пропущены, и мне задают пароль сервера, чтобы установить соединение.

Как и в macOS Sierra 10.12.2 Apple добавила параметр ssh_config , называемый UseKeychain , который позволяет «правильно» решить проблему. Добавьте в свой файл

На странице ssh_config man в 10.12.2:

UseKeychain

В macOS указывается, должна ли система искать фразу в цепочке ключей пользователя при попытке использовать конкретный ключ. Когда кодовая фраза предоставляется пользователем, этот параметр также указывает, должна ли кодовая фраза храниться в цепочке ключей, как только она будет проверена как правильная. Аргумент должен быть «да» или «нет». По умолчанию «нет».

У меня была и эта проблема при попытке развернуть какой-то код, используя Capistrano . Очень расстраивает. Вот два метода, которые я знаю для решения этой проблемы.

Способ 1: добавьте все известные ключи к агенту SSH.

Итак, я нашел решение, чтобы запустить ssh-add с помощью -A , который добавляет все известные идентификаторы к агенту SSH с использованием любых кодовых фраз, хранящихся в вашей keychain, как это:

Теперь это работает, но оно не будет сохраняться при перезагрузках. Поэтому, если вы хотите больше не беспокоиться об этом, просто откройте свой файл

/.bash_profile вашего пользователя следующим образом:

И добавьте эту строку в конец:

Теперь, когда вы открываете новое окно терминала, все должно быть хорошо!

Способ 2. Добавьте только те ключи SSH, которые находятся в цепочке ключей .

Итак, если параметр ssh-add -A должен работать для большинства основных случаев, я столкнулся с проблемой в последнее время, когда у меня было 6-7 бранных ящиков (в которых используются SSH-ключи /идентификаторы для доступа) установки на машине поверх более распространенного id_rsa.pub на месте.

Короче говоря, я оказался заблокированным из удаленного сервера из-за слишком многих неудачных попыток на основе SSH-ключей /идентификаторов, поскольку доступ к серверу был основан на пароле, а ключи /идентификаторы SSH - это SSH-ключи /идентификаторы. Таким образом, агент SSH попробовал все мои SSH-ключи, не удалось, и я даже не смог получить приглашение пароля.

Проблема заключается в том, что ssh-add -A будет просто произвольно добавлять каждый отдельный ключ /идентификатор SSH, который у вас есть, даже если это не обязательно для этого; например, в случае бродячих коробок.

Мое решение после долгих испытаний было следующим.

Во-первых, если к вашему агенту добавлено больше ключей или удостоверений SSH, чем вам нужно, как показано с помощью ssh-add -l , затем очистите их от агента следующим образом:

После этого запустите агент SSH как фоновый процесс следующим образом:

Теперь это становится странным, и я не уверен, почему. В некоторых случаях вы можете специально добавить ключ /идентификатор

/.ssh/id_rsa к агенту следующим образом:

Введите свою кодовую фразу, нажмите Return , и вам должно быть хорошо идти.

Но в других случаях просто запустить это достаточно, чтобы получить добавленный ключ /идентификатор:

Если все это сработало, введите ssh-add -l , и вы увидите один одиночный SSH-ключ /идентификатор.

Все хорошо? Теперь откройте свой .bash_profile :

И добавьте эту строку в нижнюю; комментарий или удалить версию -A , если у вас это есть:

Это позволит перезагрузить SSH-ключ /идентификатор агента SSH при каждом запуске /перезагрузке.

UPDATE: теперь Apple добавила опцию UseKeychain для открытых конфигурационных параметров SSH и также рассматривает решение ssh-add -A .

Как и в macOS Sierra 10.12.2, Apple добавила UseKeychain для конфигураций SSH. Проверка справочной страницы (через UseKeychain ) показывает следующую информацию:

Что сводится к тому, что Apple видит решение как добавление UseKeychain On macOS, specifies whether the system should search for passphrases in the user's keychain when attempting to use a par- ticular key. When the passphrase is provided by the user, this option also specifies whether the passphrase should be stored into the keychain once it has been verified to be correct. The argument must be ``yes'' or ``no''. The default is ``no''. к вашему ssh-add -A , как описано в этом открытом билете Radar или добавление .bash_profile в качестве одной из опций для каждого пользователя UseKeychain .

Я написал короткую публикацию об этом тему , которая может вам помочь.

Решение вызывает вызов команды ssh-add -A при каждом запуске.

Просто добавьте .plist файл со следующим контентом на путь

/Library/LaunchAgents/ или создайте его с помощью Лингтон :

Как объясняется здесь , это рекомендуемый метод, поскольку macOS 10.12.2 :

Добавьте следующие строки в ваш файл

Любая клавиша, которую вы добавляете в ssh-agent с помощью команды ssh-add /path/to/your/private/key/id_rsa , будет автоматически добавлен в цепочку ключей и должен быть автоматически загружен при перезагрузке.

Я добавляю этот ответ, потому что:

    Другие ответы говорят вам добавить строку IdentityFile

Так как macOS 10.12.2 вы можете использовать опцию UseKeychain . Подробнее здесь или загляните в man ssh_config .

Итак, просто выполните следующие действия:

echo "UseKeychain yes" >>

У меня была эта проблема раньше, и я нашел способ обойти это. Я только что создал файл с именем config в моей папке

/.ssh , где я добавил следующие строки:

Я не уверен, почему, но Host и HostName оба важны. В моем случае, если один из них отсутствовал, то решение не сработало.

Затем я просто выполнил ssh-add -K и работал даже после перезапуска.

Я обнаружил, что ssh-add -K дал мне « незаконный вариант - K ». Это связано с тем, что ssh-add - это странная версия, которая поступает из /usr /local /bin (устанавливается с помощью варева?). Я смог добавить ключ с помощью специального использования ssh-add, расположенного в /usr /bin:

/.ssh /config для добавления UseKeyChain для всех хостов достаточно, чтобы остановить этот повторяющийся кошмар;)

Если файл пуст или не существует простого создания и /или добавления вышеуказанной конфигурации.

Если вы используете другую версию ssh (например, установленную через homebrew), вышеупомянутые решения не будут работать из коробки. Например, AddKeysToAgent yes и UseKeychain yes в файле .ssh/config не распознаются версиями ssh, отличными от Apple, и вызывают ошибку , То же самое для параметра -A или -K для клиента ssh .

Это означает, что ответ @mluisbrown не будет работать вообще. Вы можете использовать метод 1 ответ @JakeGould и явно использовать macOS ssh-add в вашем .bash_profile , чтобы добавить все ключи в цепочку ключей, то есть:

Продвигаясь вперед с systemd , начиная с Ubuntu 15.04 , теперь вы используете этот синтаксис для остановки, запуска или перезапуска служб:

До 15.04:

Он должен быть таким же простым, как (проверено на новой установке с openssh-server)

(я бы рекомендовал stop ] / запустить поверх перезапустить , если вы не пытаетесь перезапустить систему удаленно. Если ssh уже остановлен, перезапуск не запустит , а не это.)

Если эти команды не работают, вы, вероятно, либо столкнулись с ошибкой, либо слишком сильно повозились со своей системой, и в этом случае вы, по крайней мере, знаете, в чем проблема.

Команда для перезапуска службы ssh :

Начиная с Ubuntu 15.04, Canonical больше не поставляет выскочку по умолчанию .
Таким образом, команды start , stop и restart больше не доступны.

Правильный метод перезапуска службы SSH (или любой другой службы) сейчас является одной из двух следующих команд:

Я думаю, что ошибка неизвестного экземпляра вызвана тем, что SSH не запущен.

Чтобы узнать, запущен ли демон SSH, вам следует см. что-то вроде:

В любом случае просто попробуйте любой из этих:
sudo /etc/init.d/ssh start
sudo start ssh

ответ дан Michael Martin-Smucker 27 November 2017 в 06:32

Сначала проверьте, работает ли sshd, используя следующее:

Вы должны увидеть что-то вроде:

Если вы не видите строку для / usr / sbin / sshd -D , тогда sshd либо никогда не запускался, либо аварийно завершился, что потребует f urther, чтобы выяснить причину.

Если вы видите эту строку, выполните следующую команду:

Это должно напечатать идентификатор процесса sshd, поэтому в этом случае вы должны увидеть:

На рабочем столе Ubuntu:

Сначала проверьте статус службы:

enter image description here

должен показать: - Активно: активно (работает) Если она работает, в этом нет необходимости чтобы перезапустить его. Если вы все еще хотите перезапустить его, Ubuntu вызывает службу ssh, а не sshd.

Но если это не рабочий стол Ubuntu, с помощью интерфейса командной строки:

Служба также управляется выскочкой, а не sysvinit. Таким образом, вы найдете его в /etc/init/ssh.conf вместо /etc/init.d/ssh.

Если вы хотите изменить некоторые настройки (например, порт прослушивания и разрешение на вход root), отредактировав файл конфигурации с помощью команды:

На рабочем столе Ubuntu вы можете использовать gedit вместо nano:

enter image description here

Наконец, примените изменения, перезапустив или перезагрузив SSH:

Если описанное выше по-прежнему не работает, введите следующее:

Если все вышеперечисленное не помогло, попробуйте перезапустить систему ubuntu:

На замену старым протоколам, наподобие telnet и rlogin, пришел новый, защищенный сетевой протокол SSH. Это мощный, шифрованный и функциональный протокол прикладного уровня, который позволяет заходить с клиента на сервер не только в целях чтения, но и для записи данных. Потому SSH часто используют веб-мастера для работы с удаленными мастерхостами, а также различные организации для соединения главного компьютера с другими ПК. Кроме того, через SSH можно создать специальные TCP-туннели для передачи данных.

1

Как можно зайти на сервер из ОС Windows

Но если вы все же привыкли к Windows, то разберем, как при помощи известного приложения Putty и не менее известного браузера Firefox можно подключиться на SSH сервер.

Теперь вы сможете делать все, что вам вздумается. К примеру, просмотреть последние десять логов на сервере при помощи комбинации tail -n 10 /var/log/message. Учтите, что SSH позволяет и читать, и записывать данные. Так что вы сможете даже редактировать некоторое содержимое на хосте. К примеру, можно копировать и даже архивировать файлы. Но для этого нужно использовать специальные функции, вроде scp, tar или zip. В целом, ваши возможности полностью зависят от вас. Читайте литературу по пользованию серверами и обязательно научитесь ими управлять. А теперь разберем способы, как можно перезагрузить сервер при помощи протокола SSH.

Как перезагрузить сервер, используя протокол SSH

Иногда возникает такая потребность. К примеру, когда хост в каком-то случае недоступен или на нем произошли изменения и для их закрепления необходима перезагрузка. В целом, причина не так важна, как сам процесс перезагрузки и методы, какими при этом вы воспользуетесь. Перезагрузить хост через протокол SSH совсем не сложно.

24-ssh-rebootserver

Кроме ввода команды перезагрузки, возможно, вам понадобятся и другие популярные функции, которыми можно пользоваться через командную строку по протоколу SSH:

Каждый предыдущий ответ не работает (как Google тоже предложил), но они грязный и безвкусный.

правильный путь, чтобы изменить порт прослушивания для файл launchd обрабатываются сервисом на Mac ОС Х для внесения изменений в выделенных клавиш, доступных в СШ.файл plist`

Поэтому решение такое же простое, как использовать номер порта вместо имени сервиса.

Отрывок из моего отредактированы /системы/библиотека/LaunchDaemons/СШ.файл plist :

Примечание: чтобы иметь возможность редактировать этот файл на Эль-Капитан, Сьерра и, вероятно, будущих версиях также, нужно отключить SIP (система защиты целостности). Смотрите Как отключить систему защиты целостности (СИП)[. ].

Вышеуказанные изменения также заставит демон слушать только через IPv4.

После внесения изменений в СШ.файл plist , файл должен быть перезагружен следующим образом:

Следует отметить, что использование `помощью следущей остановке . " и " помощью следущей начать . не перезагрузить этот файл.

Man-страницу с более подробной информацией можно ознакомиться на мужчину набрав файл launchd.файл plist` или с помощью этой ссылке.

Если вы хотите, чтобы sshd слушать на дополнительный порт, вы можете добавить несколько записей в гнезда словарь.

Из того что я читал (и опытных) до сих пор существуют три основных метода, которые могут быть использованы:

  1. изменить настройки в СШ.plist файла;
  2. изменить настройки в /etc/услуги файл;
  3. изменить настройки в файле /etc/sshd для.файл conf.

Кроме того, это позволяет избежать застревать в дискуссии, является ли СШ.способ файл plist, метод услуг или какой способ лучше, более элегантный или хуже другого.

Вы также можете легко подготовить скрипт, который запускается по восстановлению перенаправление сокат каждой перезагрузке машины. Место это в/Библиотека/LaunchDaemons/com для.serverfault.sshdredirect.файл plist`:

Кроме того, вы можете также повысить безопасность путем (I) настройки вашего брандмауэра, чтобы заблокировать все подключения к порту 22 от любой другой интерфейс, чем замыкания на себя (127.0.0.1) и (II) внести аналогичные изменения в свой демон.conf, чтобы есть SSH слушать только на петлевой.

Читайте также: