Совершенно новый для Linux и Ubnuntu. Настройка машины для глубокого обучения / нейронных сетей. Пока все идет хорошо. Все установлено и работает. Я хочу иметь возможность использовать SSH с моего ноутбука Mac для использования системы. Я установил openssh и получил, что работает.
Однако, когда я перезагружаю машину, сервер ssh не перезагружается. Я проверяю, sudo service ssh status
и это сообщает и ошибка. Затем я могу запустить его, и все работает нормально.
Моей первой мыслью было, что мне нужно сказать, чтобы он запускался при перезагрузке, и я нашел этот поток, в котором говорится, что он должен запускаться по умолчанию, и мне не нужно добавлять chrontab или что-то в этом роде. Так что я не думаю, что это так.
Затем я нашел эту ветку, в которой предлагается использовать команду sudo update-rc.d ssh defaults
, но эта ветка довольно старая, и кажется, что ответ был, возможно, неправильным даже тогда?
Итак, я нашел этуListenAddress
ветку, которая предлагает закомментировать строку в файле sshd_config . По сути, он говорит, что если ListenAddress используется, он может попытаться получить IP-адрес до того, как он был назначен DCHP, и поэтому запуск завершается неудачно. Что имеет смысл. Но мне нужен этот параметр, чтобы переадресация портов работала в моей домашней сети.
Эта документация под записью для ListenAddress говорит, что
The default is to listen on all local addresses.
Так может мне не нужно, чтобы переадресация портов работала?
Я следовал предыдущему обсуждению этого сообщения об ошибке, которое также довольно старое, но предлагает использовать сетевой менеджер для перезапуска ssh каждый раз, когда netmanager получает новый IP.
echo /etc/init.d/ssh restart > /etc/NetworkManager/dispatcher.d/10ssh
chmod 755 /etc/NetworkManager/dispatcher.d/10ssh
Это намного больше, чем может оценить этот новичок. Это безопасно? Это способ сделать это? Что-нибудь еще было разработано за последние 7 лет?
Будем признательны любому совету. Благодарю.
systemctl status ssh
выводит?systemctl status NetworkManager-wait-online.service
Ответы:
Вы пробовали просто установить
?
Вот так у меня установлен SSH для запуска при запуске.
**** Я ухожу в приведенной выше части ответа, если это будет полезно для других, кто сталкивается с этим постом ****
Цитирую мой комментарий сверху:
ListenAddress не имеет ничего общего с переадресацией портов, ListenAdress можно использовать для сервера, настроенного с несколькими IP-адресами на одном или нескольких сетевых адаптерах. Цитирование здесь (вся страница - хорошее объяснение): https://www.cyberciti.biz/tips/howto-openssh-sshd-listen-multiple-ip-address.html
Это позволяет одному из ваших нескольких IP-адресов принимать соединения SSH. Я предполагаю, что вы установили ListenAddress либо для вашего публичного IP-адреса, либо для внутреннего IP-адреса вашего маршрутизатора. Полагаю, если вы установите для него локальный IP-адрес вашего сервера, он бы работал нормально. Независимо от этого, теперь вы знаете, как работает ListenAddress, и вы будете готовы, если вам придется настроить более сложный сервер. Рад слышать, что у тебя все работает.
источник
ls -l /etc/systemd/system/sshd.service
Поскольку предложенное решение не сработало для меня, я обнаружил, что для запуска SSH при загрузке необходима дополнительная команда:
Некоторые упоминали, что эта команда:
следует выполнить вместо этой команды:
источник