Проблема с перезапуском autossh обратного туннеля при загрузке
Кажется, у меня странная проблема: я хочу перезапустить обратный туннель ssh при загрузке, я пробовал его с помощью скрипта инициализации (который отлично работает при исполнении от имени пользователя) и с добавленной строкой в /etc/rc.d
но ничего из этого не работает. Что я получаю после загрузки:
$ ps ax | grep autossh
397 pts/10 S+ 0:00 grep --color=auto autossh
1351 ? Ss 0:00 /usr/lib/autossh/autossh -M 22221 -N -o PubkeyAuthentication=yes -o PasswordAuthentication=no -i ~/.ssh/etherwan.key -R 19999:localhost:22 ubuntu@server
но я не могу войти с server
, Итак, я сделал следующее после загрузки:
$ sudo killall -KILL autossh
[sudo] password for ron:
$ /usr/bin/autossh -M 22221 -f -N -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i ~/.ssh/etherwan.key -R 19999:localhost:22 ubuntu@server
на котором я могу войти через порт 19999 просто отлично!
Разрешения клавиш выглядят так: (но root не должен заботиться, не так ли?)
$ ls -l ~/.ssh/etherwan.key
-r-------- 1 ron ron 1675 Nov 6 04:15 /home/ron/.ssh/etherwan.key
1 ответ
Решение
Замещать ~/.ssh/etherwan.key
в вашем скрипте rc.d с /home/ron/.ssh/etherwan.key
Символ '~' раскрывается оболочкой в домашний каталог пользователя, но сценарии rc.d запускаются от имени пользователя root.