Есть ли способ запуска autossh
при запуске, чтобы он запускал и настраивал туннель ssh еще до того, как пользователь вошел в систему? Я загружаю Ubuntu в терминал, и я хотел бы, чтобы autossh
процесс запускался автоматически при запуске, чтобы я мог войти в ssh.
Я попытался добавить команду /etc/rc.local
, а также создать /etc/init/*.conf
скрипт. Кажется, ничего из этого не работает.
@reboot autossh -D 9050 user@sshserver -fTNC
на crontab ?Ответы:
С помощью
systemd
этого можно сделать (образецautossh
создан дляmysql
доступа):Создайте системный файл, используя
nano
илиvim
или соответствующий редактор по выбору:Добавьте следующее содержание:
Перезагрузить
systemd
:Запустите
Autossh
сервис:Включить в
boot
:Проверьте статус с помощью:
Заметка
Так что в случае
systemd
вам нужно использоватьAUTOSSH_GATETIME
Источник
источник
sudo service reverse-ssh-tunnel.service status
, я получаюLoaded: not-found (Reason: No such file or directory)
.sudo systemctl status reverse-ssh-tunnel
неsudo service reverse-ssh-tunnel.service status
autossh -i /home/<user>/.ssh/id_rsa -R 22222:localhost:22 <user>@<remote_host>
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
. Может, мне просто нужен один из них, я не проверял их по отдельности. Нашел вот это: stackoverflow.com/a/24689061/1211119 . Однако, когда я смотрю на экран входа в систему tty1 (я загружаюсь в терминал), сервис еще не создал туннель. Если я вхожу, служба запускается.User=username
в[Service]
раздел в файле systemd.