Установка постоянного обратного ssh-туннеля autossh

Может ли кто-нибудь указать мне хороший (пошаговый) ресурс для настройки обратного ssh-туннеля с autossh с использованием systemd при загрузке?

Я изо всех сил старался сделать это, используя ресурсы, которые я нашел в Интернете, и мне удалось вручную создать обратный сеанс ssh, однако мне не удалось автоматизировать его с помощью systemd, чтобы моя «удаленная» система могла перезагружаться без проблем.

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

Мы будем очень признательны за любую помощь в расшифровке этой ошибки или создании постоянного сеанса autossh в Ubuntu 20.04.

файл:

      [Unit]
Description=Establish persistent SSH tunnel
Requires=ssh.service
Wants=network-online.target
After=network-online.target

[Service]
User=user
Group=usergroup
Environment=AUTOSSH_POLL=60 AUTOSSH_FIRST_POLL=30 AUTOSSH_LOGFILE=/var/log/autossh.log AUTOSSH_LOGLEVEL=7 AUTOSSH_GATETIME=0
ExecStart=/usr/bin/autossh -i /root/.ssh/id_rsa -R 3010:localhost:22 -o 'StrictHostKeyChecking=no' -o 'UserKnownHostsFile=/dev/null' -o 'PasswordAuthentication=no' -o 'PubkeyAuthentication=yes' -o 'ServerAliveInterval 60' -o 'ServerAliveCountMax 3' -o 'BatchMode=yes' user@myddnsservice -p2016
RestartSec=6
Restart=always

[Install]
WantedBy=multi-user.target

1 ответ

Это то, что я использую.

Создайте закрытый/открытый ключ туннеля с помощью ssh-keygen на удаленной машине. Вам будет предложено ввести парольную фразу. Вы можете нажать Enter, чтобы игнорировать вопросы с парольной фразой, но это не рекомендуется. Это означало бы, что любой на удаленном компьютере мог бы установить SSH-подключение к вашему локальному компьютеру без запроса пароля (см . раздел «Использование SSH с ключами»).

Установите открытый ключ в свой удаленный файл user@remote.hosts .ssh/authorized_keys .

Протестируйте его вручную, выполнив команду ssh, и убедитесь, что обратный туннель работает.

      vi /etc/systemd/system/tunnel.service

[Unit]
Description=Maintain Tunnel
After=network.target

[Service]
User=localuser
ExecStart=/usr/bin/ssh -i ~localuser/.ssh/tunnel -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -gnNT -R 22222:localhost:22 remoteuser@remotehost vmstat 5
RestartSec=15
Restart=always
KillMode=mixed

[Install]
WantedBy=multi-user.target

Затем запустите:

      sudo systemctl daemon-reload
sudo systemctl enable tunnel
sudo systemctl start tunnel
Другие вопросы по тегам