Программу Shellinabox можно использовать как через http, так и через зашифрованный стандартом SSL https протоколы.
Здесь описывается не зашифрованный доступ к linux-shell. Эту версию следует использовать только в локальной сети, т.к. все данные, в том числе и пароль, передаются не зашифровано. Преимущество этой версии — это бинарник малого размера, что экономит память роутера.
ВНИМАНИЕ: я настоятельно рекомендую использовать именно эту версию, а не не зашифрованную версию!
В новой скомпилированной версии «shellinaboxd_v2.14_patched_…» некоторые специализированные знаки снова работают, например эти: «#», «-«, «_», «+», «*».
Fritz!Box’ы без USB флешки
В этой версии нужно создать сертификат и для Fritz!Box’ов без USB флешки его нужно поместить где-нибудь в интернете, например, на фтп сервере, защищённым паролем. Я пока не буду описывать этот метод.
Fritz!Box’ы с USB флешкой
1. Нужно скачать эти файлы и сохранить на флешке в папке «shellinabox»:
- Для mipsel-Fritz!Box’ов (например 7270, 7170 и др.):
- Для mips-Fritz!Box’ов (например 7390, 7340 и др.):
Пожалуйста, переименуйте соответствующею shellinaboxd на «shellinaboxd»!
Опытные пользователи могут, конечно, поменять название папки. Не забудьте при этом поправить код.
2. Здесь нужно создать сертификат. Эго нужно сохранить в файле «certificate.pem» на флешке в папке «shellinabox».
3. Здесь нужно создать так называемый Hash-Code для пароля. Его нужно вставить вместо «мойПароль».
ВНИМАНИЕ: так называемые Single Quotes (‘) вначале и конце хеш-кода не следует забывать, т.к. с их помощью игнорируются специальные символы в коде.
4. Сначала нужно протестировать код в конзоле. После этого можно будет зайти на роутер по адресу http://fritz.box:4200/:
5. Если всё работает, то этот код можно занести в debug.cfg (смотри раздел «debug.cfg»)
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
HDD='Hitachi-HTS543216L9A300-01' # ВНИМАНИЕ: обязательно изменить! HDD_ABSOLUT='/var/media/ftp/'$HDD LOGIN='моёИмя' PASSWD='мойПароль' TEMP=/var/tmp while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done cd $TEMP cp $HDD_ABSOLUT/shellinaboxd/shellinaboxd $TEMP/shellinaboxd chmod +x shellinaboxd mkdir cert cp $HDD_ABSOLUT/shellinaboxd/certificate.pem $TEMP/cert/ if ! grep -q $LOGIN /etc/passwd; then echo $LOGIN:$PASSWD:0:0:root:/:null >> $TEMP/passwd; fi $TEMP/shellinaboxd -u root -g root -c $TEMP/cert -b |
Доступ через интернет
Чтобы получить доступ через интернет, необходимо добавить следующею строчку в ar7.cfg в секции «forwardrules»:
1 2 3 4 |
forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", [...] "tcp 0.0.0.0:4200 0.0.0.0:4200 0 # shellinabox" [...] |
Смотри подробней в разделе «ar7.cfg»