Добавьте зависимость от запуска от netplan до ssh

По умолчанию ssh связывает с 0.0.0.0:22, который, очевидно, работает без проблемы. Но теперь, я добавил gitlab контейнер докера к своей системе (который использует порт 22), и таким образом, я должен был ограничить свой хост ssh сервис к единственному IP:

diff -u /etc/ssh/sshd_config_orig /etc/ssh/sshd_config
--- /etc/ssh/sshd_config_orig   2018-02-10 03:31:46.000000000 +0100
+++ /etc/ssh/sshd_config    2019-04-06 13:39:51.291703794 +0200
@@ -14,6 +14,7 @@
 #AddressFamily any
 #ListenAddress 0.0.0.0
 #ListenAddress ::
+ListenAddress 192.168.1.10

 #HostKey /etc/ssh/ssh_host_rsa_key
 #HostKey /etc/ssh/ssh_host_ecdsa_key

Но с этим изменением, моя машина не загружается правильно больше: netplan (который управляет моей конфигурацией сети, как упомянуто ниже), кажется, инициализирует сеть асинхронно, в то время как ssh пытается запуститься, но сбои, потому что IP еще не существует в системе.

cat /etc/netplan/01-static-ip.yaml 
network:
  version: 2
  ethernets:
    enp6s0:
      addresses:
        - 192.168.1.10/24
        - 192.168.1.234/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.223,192.168.1.1]
      dhcp4: no

Теперь, что лучший подход должен добавить "сетевую готовую" зависимость к ssh демону?

Моей системой является Ubuntu 18.04. Поскольку это - бездисплейный сервер, sshd важен.

Мое текущее обходное решение использует другой порт и снова использует адрес 0.0.0.0

0
задан 7 April 2019 в 08:52

1 ответ

Стандарт ssh systemd единица объявляет:

After=network.target auditd.service

Если необходимо ожидать сети, чтобы произойти прежде, чем запустить сервис, необходимо изменить эту единицу, которая также будет упорядочена после network-online.target.

Для возможности обновления это должно быть установлено как дополнительный файл конфигурации в /etc/systemd/system/ssh.service.d/.

0
ответ дан 25 October 2019 в 06:41

Другие вопросы по тегам:

Похожие вопросы: