Установка постоянного обратного 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