Автоматически запускать SSH при загрузке

9

Полностью новый для 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

Это намного больше, чем этот noobie может оценить на этом этапе. Это безопасно? Это способ сделать это? Что-то еще было разработано за последние 7 лет?

Любые советы были бы замечательными. Спасибо.

    
задан Rothrock 13.03.2017 в 02:25
источник

1 ответ

27

Вы пробовали просто установить

sudo systemctl enable ssh

?

Вот как я установил свой ssh для запуска при запуске.

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

Цитата из моего комментария сверху:

How do you have your port forwarding setup? I don't use the ListenAddress at all and things work fine on my home server. My router forwards anything that comes in on a port I specify (22 if you want the standard port, but you can use anything as long as it doesn't conflict with other services on your intl. network) to the computer I want. For example anything that comes in on port 12345 gets forwarded to port 22 on my CentOS server. Anything that comes in on 12346 gets forwarded to port 22 of my headless RasPi. Anything that comes in on 12347 goes to port 6697 for the IRC bouncer on my RasPi

ListenAddress не имеет ничего общего с переадресацией портов, ListenAdress может использоваться для сервера, который настроен с несколькими IP-адресами через один или несколько сетевых адаптеров. Цитируя отсюда (вся страница является хорошим объяснением): Ссылка

Let us say you have total 8 public IP address and one private IP address. You >would like to bind sshd to one selected public IP (ex 70.5.xx.xx) and private >IP (10.1.5.1) only.

Luckily there is an easy way to achieve this using ListenAddress option. It >specifies the local addresses sshd should listen on. If this directive is >skipped from configuration file sshd will bind or list on all available IP >address.

Это позволяет одному из нескольких ваших IP-адресов принимать ssh-соединения. Я предполагаю, что вы установили ListenAddress на свой общедоступный IP-адрес или на внутренний IP-адрес вашего маршрутизатора - я предполагаю, что если вы установите его на локальный IP-адрес вашего сервера, он бы работал нормально. Несмотря на это, теперь вы знаете, как работает ListenAddress, и вы будете готовы, если вам нужно настроить более сложный сервер. Рад слышать, как вы работали.

    
ответ дан RobertRSeattle 13.03.2017 в 02:33
источник