Имеется Dlink DIR-320, перешитый, в него воткнут USB-модем с МТС-овской симкой.
Хочется иметь возможность на него издалека заходить.
МТС дает, адрес 172.что-то. (Было время когда они давали честный внешний IP, но очень давно)
Решение тривиальное - поднимаем из него при загрузке PPP over SSH на домашнюю машину, и все в шоколаде.
Тестовый скрипт заработал почти сразу, за исключением одной мелочи - пароль ssh'ный был вбит руками.
А надо шоб оно само запускалось при загрузке, и восстанавливалось после обрыва связи, когда на N км вокруг только бездомные собаки.
Пытаюсь ему сделать подсунуть ключики, и обламываюсь: в /usr/local/root/.ssh он их, похоже, вообще не видит, а при указании опции -i ругаеццо: string too long.
Кто с $subj плотно дела имел - чего сходу подкрутить можно ?...
Решено: DIR-320, dropbear, пароль
Модератор: Модераторы разделов
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Решено: DIR-320, dropbear, пароль
А вы уверены, что домашняя директория рута, в которой он собственно и ищет ключи, это именно /usr/local/root, а не обычный /root ?
echo $HOME из под рута что показывает?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
SinClaus
- Сообщения: 1952
- Статус: Мучитель Мандривы
- ОС: Arch,BSD
Re: Решено: DIR-320, dropbear, пароль
Перешит на что? Ключи понимает dd-wrt и её производные, причём не уверен что это распространяется на -mini редакцию.
Ещё маленькая тонкость: каталог рута расположен в области, которая при перезагрузке абсолютно чистая, поэтому ключики нужно хранить на флешке и при старте копировать в соответствующий каталог.
Ещё маленькая тонкость: каталог рута расположен в области, которая при перезагрузке абсолютно чистая, поэтому ключики нужно хранить на флешке и при старте копировать в соответствующий каталог.
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Решено: DIR-320, dropbear, пароль
я в перепрошитых "олегом" делал так:
Код: Выделить всё
mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
cp /usr/local/sbin/post-boot /usr/local/sbin/post-firewall
cp /usr/local/sbin/post-boot /usr/local/sbin/post-mount
cp /usr/local/sbin/post-boot /usr/local/sbin/pre-shutdown
chmod +x /usr/local/sbin/p*
echo "dropbear > /dev/null 2>&1" >> /usr/local/sbin/post-boot
dropbear > /dev/null 2>&1
flashfs save
flashfs commit
flashfs enable
reboot-
reji
- Сообщения: 81
Re: Решено: DIR-320, dropbear, пароль
Если речь идёт о dbclient, SSH-клиенте из dropbear, то пароль можно указать в переменной среды DROPBEAR_PASSWORD.
(man dbclient) писал(а):DROPBEAR_PASSWORD
A password to use for remote authentication can be specified in the environment variable DROPBEAR_PASSWORD. Care should be taken that the password is not exposed to other users on a multi-user system, or stored in accessible files.
-
StanislavL
- Сообщения: 80
Re: Решено: DIR-320, dropbear, пароль
Всем спасибо, все получилось.
Во-первых, я протормозил с dropbearkeys - пытался с машины подсунуть ключи, сделанные ssh-keygen'ом, почему-то пребывая в святой уверенности, что ему должно быть пофик. А он, гат, не захотел.
Во-вторых, оказалось, что для (конкретно моего ?) dropbear важен порядок указания параметров в команде... Видимо, какой-то хитрый баг, по идее ему должно быть параллельно. Но заработало когда вместо 'ssh host -l user -i /user/local/root/.ssh/id_rsa' написал 'ssh -i /user/local/root/.ssh/id_rsa user@host'
PS Еще выяснилось: после запуска скрипта из post-boot он не стал работать, из-за того что $HOME там толи не выставлен, толи выставлен в '/' ; в резулитате он пытался создавать /.ssh , обламывался на 'readonly fs'. Выставил HOME в скрипте - заработало как и хотелось.
Осталась последняя проблема - при внезапном разрыве связи интерфейсы PPPn на домашней машине продолжают долго висеть. Принимаются советы как разумней распорядиться всяческими keepalive'ами.
Во-первых, я протормозил с dropbearkeys - пытался с машины подсунуть ключи, сделанные ssh-keygen'ом, почему-то пребывая в святой уверенности, что ему должно быть пофик. А он, гат, не захотел.
Во-вторых, оказалось, что для (конкретно моего ?) dropbear важен порядок указания параметров в команде... Видимо, какой-то хитрый баг, по идее ему должно быть параллельно. Но заработало когда вместо 'ssh host -l user -i /user/local/root/.ssh/id_rsa' написал 'ssh -i /user/local/root/.ssh/id_rsa user@host'
PS Еще выяснилось: после запуска скрипта из post-boot он не стал работать, из-за того что $HOME там толи не выставлен, толи выставлен в '/' ; в резулитате он пытался создавать /.ssh , обламывался на 'readonly fs'. Выставил HOME в скрипте - заработало как и хотелось.
Осталась последняя проблема - при внезапном разрыве связи интерфейсы PPPn на домашней машине продолжают долго висеть. Принимаются советы как разумней распорядиться всяческими keepalive'ами.