Как добавить в автозагрузку Debian 8 .sh скрипт?
Запуск из /etc/rc.local - штука непредсказуемая, так как, например, запуск может произойти ещё до того, как заработает сеть, и поэтому скрипт обломается.
По-хорошему, нужно взять какой-нибудь сетевой серсис (апач например, если установлен) из /etc/init.d за образец, и создать свои скрипты, прописав их запуск под номером (для sysv init), бОльшим тех сервисов, которые нужны уже запущенными при старте вашего сервиса (или, для systemd - прописав правильные зависимости).
На худой конец, скрипт можно запустить из кронтаба нужного пользователя, вставив строчку:@reboot /usr/local/bin/your-script.sh
но скрипт не будет отрабатывать завершение работы системы, так что лучше озаботьтесь таки созданием номального сервиса.
Предлагаю через systemd. Создай файл вида /etc/systemd/system/ssh_tunnel.service
Примерное содержимое:[Unit]
Description=SSH tunnel
After=syslog.target network.target

[Service]
Type=forking

User=user
ExecStart=/usr/bin/ssh -i /home/user/.ssh/key -N -T -L 127.0.0.1:51143:192.168.5.5:143 -o MACs=hmac-sha2-512-etm@openssh.com user@host
ExecStop=/bin/kill $MAINPID
ExecReload=/bin/kill $MAINPID && /usr/bin/ssh -i /home/user/.ssh/key -N -T -L 127.0.0.1:51143:192.168.5.5:143 -o MACs=hmac-sha2-512-etm@openssh.com user@host
Restart=on-failure

[Install]
WantedBy=multi-user.target
Обновляем информацию systemd:systemctl daemon-reload
Стартуем сервис:systemctl start ssh_tunnel.service
Смотрим его статус:systemctl status ssh_tunnel.service
Если все в порядке, включаем его в автозагрузку:systemctl enable ssh_tunnel.service