PDA

Bekijk de volledige versie : Howto: Подключение к роутеру через putty и far без пароля (winscp+putty)



angel_il
08-01-2008, 19:59
Не знаю будет ли в тему но выложу пару рекомендаций на счет far + winscp и putty.
Предполагается что dropbear уже установлен вот так

4) настроить SSH-сервер.
Подключиться к шеллу роутера можно по протоколу telnet программой putty (www.putty.nl), имя для входа "admin", пароль если не меняли такой же. Зайдя дать команды:

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
а переменная LANG определена как ru_RU.UTF-8 .
дополнительно необходимо установить sftp-server из командной строки (спасибо al37919 за наводку).


ipkg install openssh-sftp-server


Подключение через putty.
качаем последнюю версию putty наример отсюда (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
а также Pageant и PuTTYgen. я их обычно закидываю в папку windows, чтобы потом не искать :)
теперь с помощью утилиты PuTTYgen генерируем приватный ключ, после нажатия кнопки Generate необходимо поводить мышкой внутри окошка.
После генерации ключа нужно сохранить на диск 2 ключа public и private, приватный ключ я его закинул в папку windows\system32, предварительно введя ключевую фразу, а паблик кей выведен в поле "Public key for pasting..." я его, через клипборд, сохранил на диске c:\ чтобы не потерять. Потом его необходимо будет сохранить на роутере в файле /tmp/local/root/.ssh/authorized_keys.
например таким образом:


mkdir /tmp/local/root/.ssh
touch /tmp/local/root/.ssh/authorized_keys
mcedit /tmp/local/root/.ssh/authorized_keys #если установлен mc

далее вставить из клипборда паблик кей и сохранить файл.
или каким то другим способом поместить содержимое поля "Public key for pasting..." в файл /tmp/local/root/.ssh/authorized_keys. (есть как минимум N способов сделать это :)
после этого необходимо сохранить этот ключ


flashfs save
flashfs commit
flashfs enable

Теперь запускаем putty создаем новую сессию и на закладке Window/Translation задаем кодировку UTF-8, на закладке Connection/Data задаем имя пользователя admin, на закладке Connection/SSH/Auth в поле Private key for ... устанавливаем тот приватный ключ который мы сгенерировали в начале.
Сохраняем сессию, на этом с путти все.

PS: Если мы хотим, чтобы при создании сессии автоматически запускался mc и при этом после выхода из него сессия не закрывалась, необходимо в поле Remote command на закладке Connection/SSH вписать mc -c && /bin/sh

Теперь Pagent:
тут тоже все просто нажимаем Add Key и выбираем свой приватный ключ.
Теперь чтобы соединиться с роутером через ssh надо в трее по иконке с pagent щелкнуть правой клавишей выбрать Saved session свою сессию.
После чего установится соединение с сервером при этом авторизация будет проходить посредством проверки ключей и пароль и логин вбивать не придется.
Подключение через far плагин winscp.
необходимо скачать и установить последнюю версию плагина winscp c сайта автора плагина тут (http://winscp.net/eng/download.php)
теперь на основной закладке необходимо установить тип протокола sftp (спасибо Oleg за наводку)
а на закладке Environment UTF-8 encoding for filenames включить On.
NB: если File protocol определен как scp то русского не учидеть, будут кракозяблики.

Картинки прилагаются

angel_il
08-01-2008, 20:02
генерация ключей

angel_il
08-01-2008, 20:16
настройки putty

Nitrogen
08-01-2008, 20:24
>>Предполагается что dropbear уже установлен а переменная LANG определена как ru_RU.UTF-8 .
а можно без предположений? было бы приятно увидеть все в одной теме, с нуля, без "читай faq"

angel_il
08-01-2008, 20:38
>>Предполагается что dropbear уже установлен а переменная LANG определена как ru_RU.UTF-8 .
а можно без предположений? было бы приятно увидеть все в одной теме, с нуля, без "читай faq"

ok ) украду из темы "настройка роутера с нуля" :)

37elena
08-01-2008, 22:01
Вот здесь дальше ни как.

ipkg install openssh
cp /opt/libexec/sftp-server /tmp
ipkg remove openssh
mv /tmp/sftp-server /opt/libexec
flashfs save
flashfs commit
flashfs enable
Вот лог.
[admin@wl500g root]$ ipkg install openssh
Installing openssh (4.7p1-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/openssh_4.7p1-1_mipsel.ipk
An error ocurred, return value: 2.
Collected errors:
Package openssh wants to install file /opt/bin/ssh
But that file is already provided by package dropbear
Package openssh wants to install file /opt/bin/scp
But that file is already provided by package dropbear
[admin@wl500g root]$ cp /opt/libexec/sftp-server /tmp
cp: /opt/libexec/sftp-server: No such file or directory
[admin@wl500g root]$ ipkg remove openssh
No packages removed.
Nothing to be done
Successfully terminated.
[admin@wl500g root]$ mv /tmp/sftp-server /opt/libexec
mv: unable to rename `/tmp/sftp-server': No such file or directory
[admin@wl500g root]$

И далее нет такой папки для сохранения ключа.
/tmp/local/root/.ssh/

piezomotor
08-01-2008, 22:34
Два вопроса- а зачем это нужно?

1) Ключи уже вроде как уже генерили тут

dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key

2) Когда можно в putty username и password вводить.

al37919
08-01-2008, 22:44
2) Когда можно в putty username и password вводить.
чтобы не вводить имя и пароль каждый раз

piezomotor
08-01-2008, 22:49
чтобы не вводить имя и пароль каждый раз

Спасибо за ответ - кто то тут писал - Правильно заданный вопрос - это половина ответа.

А как открыть SSH доступ через WAN? У меня не работает.

al37919
08-01-2008, 23:02
есть такая тема:
http://wl500g.info/showthread.php?t=11436

angel_il
08-01-2008, 23:40
An error ocurred, return value: 2.
Collected errors:
Package openssh wants to install file /opt/bin/ssh
But that file is already provided by package dropbear
Package openssh wants to install file /opt/bin/scp
But that file is already provided by package dropbear
[admin@wl500g root]$ cp /opt/libexec/sftp-server /tmp
cp: /opt/libexec/sftp-server: No such file or directory

это потому что что то не установился openssh


И далее нет такой папки для сохранения ключа.
/tmp/local/root/.ssh/

инструкцию подправил

al37919
09-01-2008, 00:28
Вот лог.
[admin@wl500g root]$ ipkg install openssh
Installing openssh (4.7p1-1) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/openssh_4.7p1-1_mipsel.ipk
An error ocurred, return value: 2.
Collected errors:
Package openssh wants to install file /opt/bin/ssh
But that file is already provided by package dropbear
Package openssh wants to install file /opt/bin/scp
But that file is already provided by package dropbear
надо сделать ipkg remove dropbear тем более, что он Вам не нужен (поставленный из пакетов), т.к. в прошивке он и так есть.
Впрочем нынешней версии инструкции он мешать уже не будет.

37elena
09-01-2008, 01:13
все встало. Спасибо за столь быстрый ответ и за инфу 5 балов.
только пароль в пути не проходит.
Что то с ключами не лады. А точно только один ключ в роутере ставим? все остальное не трогаем.
Может я на косячил.

angel_il
09-01-2008, 07:20
все встало. Спасибо за столь быстрый ответ и за инфу 5 балов.
только пароль в пути не проходит.
Что то с ключами не лады. А точно только один ключ в роутере ставим? все остальное не трогаем.
Может я на косячил.

Да нет, как раз основной смысл был именно в том чтобы не вводить пароль, это важно тогода когданаходишся в незнакомом месте и пароль может быть например подсмотрен или похишен через клавиатурный шпион. Да и просто мне надоело постоянно вбивать пароли вот и вспомнил про эту возможность путти.
Если сделали все по инструкции должно пускать.

37elena
10-01-2008, 19:52
Да нет, как раз основной смысл был именно в том чтобы не вводить пароль.

Да это понятно, просто я не так выразился.
Все заработало нашел ошибку, сам на касячил.

Есть только одна проблема.
Не могу понять в чем дело.
Может кто сталкивался.
После перезагрузки нет процесса dropbear и pagent не работает.
захожу через телнет делаю.
dropbear > /dev/null 2>&1
процесс dropbear появяется.
Вот мой post-boot там это есть но почему то не срабатывает.


#!/bin/sh
dropbear > /dev/null 2>&1
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
echo "10.232.232.236 bt.ivnet.ru" >> /tmp/etc/hosts
echo "10.232.232.244 dc.ivnet.ru" >> /tmp/etc/hosts

Вот мой post-mount


#!/bin/sh
/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
/sbin/swapon /dev/scsi/host0/bus0/target0/lun0/part2
export HOME=/usr/local/root
/opt/bin/screen -dmS bt /opt/bin/rtorrent

Подскажите куда копать.

igor.zt
10-01-2008, 20:02
а возможно зашифровать ФТП и ВЭБ ?

al37919
10-01-2008, 20:23
Подскажите куда копать.
post-boot вручную выполняется?

angel_il
10-01-2008, 21:31
а возможно зашифровать ФТП и ВЭБ ?

да вопользуйтесь stunnel

ipkg install stunnel

далее читаем документацию например на stunnel.org или в гугле

37elena
11-01-2008, 19:21
post-boot вручную выполняется?
Сам выполняется.
Все остольное, что в нем прописано срабатывает.

al37919
11-01-2008, 21:22
ну если все остальное выполняется, то напишите вместо:
dropbear > /dev/null 2>&1
например так:
dropbear 2>&1 | logger -t dropbear
и посмотрите ---- может он на что ругнется в логе

angel_il
17-01-2008, 21:52
чуть чуть обновил. :)

Reyter
18-01-2008, 09:37
Хочется еще узнать каким макаром запускать что-либо автоматически после коннекта. Например тот же mc?
Т.е. умеет ли путти выполнять собственные скрипты после соединения?

nightrus
18-01-2008, 09:45
на закладке SSH в строке Remote Command пишем
mc :)

(выполняется ток, после логина, т.е. ввода пароля)

upd. и после выхода из mc, путти автоматом закрывается..

Reyter
18-01-2008, 09:50
на закладке SSH в строке Remote Command пишем
mc :)

(выполняется ток, после логина, т.е. ввода пароля)

upd. и после выхода из mc, путти автоматом закрывается..
Такой вариант, как сами понимаете, не совсем устраивает :(

al37919
18-01-2008, 12:49
а в ~/.profille добавить?

Reyter
18-01-2008, 13:07
а в ~/.profille добавить?
Не хотелось бы.
Я понимаю, что проблему серьезной назвать трудно. :)
Однако в ShellGuard, которым я постоянно пользовался, все это решалось элементарно созданием стартового скрипта в конфиге. Однако приходится переползать на путти в связи с необходимостью поддержки UTF-8

angel_il
18-01-2008, 15:42
возможность есть, нолько вот пока не понял как правильно написать скрипт, чтобы после выхода из mc путти не закрывался.
кстати какой скрипт то запускаешь?

Reyter
18-01-2008, 16:01
кстати какой скрипт то запускаешь?
mc :D
Важно вопрос в принципе решить. Тогда в этой теме вопрос подключения к консоли будет полностью раскрыт и готов к конечному употреблению ;)

Vitaly_k
21-01-2008, 23:22
2 Oleg:
Учитывая, что этот способ доступа к консоли и файловой системе стал достаточно полулярным, может стоит добавить запуск dropbear в web-интерфейс?
По максимуму хотелось бы: выбор номера порта, включение доступа через WAN, кнопка для генерации ключей.

angel_il
22-01-2008, 00:21
mc :D
Важно вопрос в принципе решить. Тогда в этой теме вопрос подключения к консоли будет полностью раскрыт и готов к конечному употреблению ;)

ну если mc то инструкцию обновил. :)

lexass
23-01-2008, 14:27
отличный МАН
все работает, все прекасно!
все забываю спросить, в логе:
Jan 23 15:04:57 /opt/sbin/sshd[181]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
никак не мешает, но раздражает

lly
23-01-2008, 14:32
Это значит что кто-то уже сидит на 22 порту. В нашем варианте это, скорее всего, ранее запущенный dropbear.

lexass
23-01-2008, 14:38
Это значит что кто-то уже сидит на 22 порту. В нашем варианте это, скорее всего, ранее запущенный dropbear.

неа, нету дропБира
выше этой строчки в логе:
sshd запущен на 192.168.1.1 порт 22

стартует из init.d

#!/bin/sh
if [ -f /opt/var/run/sshd.pid ] ; then
kill `cat /opt/var/run/sshd.pid`
else
killall sshd
fi
rm -f /opt/var/run/sshd.pid
umask 077
/opt/sbin/sshd

lly
23-01-2008, 14:42
lexass
приведи обе строчки из лога! если в них pid одинаковый - фигня в самой программе, а если разный - запускается два раза.

lexass
23-01-2008, 14:52
про пид забыл..
одинаковый
Jan 23 16:39:44 /opt/sbin/sshd[172]: Server listening on :: port 22.
Jan 23 16:39:44 /opt/sbin/sshd[172]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.


да и тут /opt/var/run/sshd.pid пид-а нет

lly
23-01-2008, 15:07
Значит кто-то уже висит на 22 порту. Проверка:

netstat -an|grep LISTEN
ищем 22 порт в списке.

если нет даже идей кто это может быть :rolleyes: то выкачиваем lsof из репозитария optware ipkg и смотрим кто сидит на 22 порту.

lexass
23-01-2008, 15:13
[admin@WL-500g root]$ netstat -an|grep LISTEN
tcp 0 0 0.0.0.0:1026 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.1:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5431 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::23 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 1091 /tmp/php-fastcgi.socket-0

пошел качать lsof

lexass
23-01-2008, 15:16
ответ lsof

lly
23-01-2008, 15:23
Из вывода lsof получается, что sshd пытается два раза повесится на один интерфейс. Странно это...

ищем строчку где в предпоследней колонке TCP а в последней ":ssh" - это и есть сам sshd с pid=172

al37919
23-01-2008, 15:36
А он взаправду нужен --- sshd ?

lexass
23-01-2008, 15:48
Из вывода lsof получается, что sshd пытается два раза повесится на один интерфейс. Странно это...

ищем строчку где в предпоследней колонке TCP а в последней ":ssh" - это и есть сам sshd с pid=172

дык и из лога, он вроде как сам себя 2 раза пытаетс язапустить на 22 порту

какие мысли?


А он взаправду нужен --- sshd ?
кому да, а кому нет!


--------------------------------------------

просто руками стартую /opt/sbin/sshd
в логе тож самое (перед этим процесс кикаю)

al37919
23-01-2008, 17:34
не, я серьезно --- какие бенефиты от использования sshd против dropbear?

Я его пробовал и обнаружил, что по крайней мере он скомпилирован без поддержки tcp_wrappers, а что еще он дает...

al37919
23-01-2008, 20:47
еще такой вопрос возник. Как оперировать с ключами в putty --- достаточно понятно разжевано. А как мне создать/подключить подобный ключевой файл для соединений из linux?

angel_il
23-01-2008, 21:41
еще такой вопрос возник. Как оперировать с ключами в putty --- достаточно понятно разжевано. А как мне создать/подключить подобный ключевой файл для соединений из linux?

требуется подключаться через ssh из под линукса к другим линуксовым машинам?
примерно также, могу написать конечно но в инете есть исчерпывающее описание. щас сылку дам.
http://www.opennet.ru/base/sec/ssh_pubkey_auth.txt.html

al37919
24-01-2008, 07:10
отличная ссылка --- все вышло. Может ее тоже на первую страницу?

PupsDRVR
21-03-2008, 17:15
Прочитал всю ветку, настроил без проблем. Подключается WinSCP, очень удобно. А вот FAR для чего в данной ситуации? Я его тоже поставил (FAR POWERPACK V1.06), вспомнил молодость :). Надо ещё что-то настраивать для подключения или он для каких-то других целей? Поиск в конфе по слову FAR ничего не дал, поиск что ли сломался... Просветите, кто знает, интересно очень.

getikalex
01-04-2008, 21:46
А зачем FAR ?
По мне - проще в TotalCommander один раз запомнить FTP соединение с узлом 192.168.1.1:21 и все ! диск роутера на панели.
(ftp думаю есть у всех)

На скрине подключенный 192.168.89.56 (такой адрес у меня)
В настройке показал 192.168.1.1 чтоб не путать людей-так по умолчанию (реально у меня стоит 192.168.89.56:21 что и отобразилось)

Vitaly_k
01-04-2008, 23:03
А зачем FAR ?
По мне - проще в TotalCommander один раз запомнить FTP соединение с узлом 192.168.1.1:21 и все ! диск роутера на панели.

Через FAR+WinSCP видны не только внешние USB-носители, но и корень файловой системы роутера, в командной строке аналог telneta и все это с шифрацией авторизации и передаваемых данных - можно спокойно заходить извне.

Reyter
02-04-2008, 07:24
А зачем FAR ?
По мне - проще в TotalCommander один раз запомнить FTP соединение с узлом. (ftp думаю есть у всех)
1) Лично я в любом предпочту пользоваться FAR-ом, покольку он для меня гораздо удобнее и не перегружен лишней виндузной графикой. Тут уж дело вкуса.
2) FAR точно таким же макаром умеет работать с обычным FTP. (Т.е. я могу точно так же спросить: "А зачем TotalCommander ?")
3) FTP запущен не у всех. Лично у меня, например, он выключен.
4) Подключение через ssh с использованием ключей авторизации является намного более безопасным, чем подключение по FTP.
5) Не проверял, но предполагаю, что подключение по FTP не дает возможности редактировать файлы непосредственно на роутере. (Могу и ошибаться. Тут уж насколько хитро реализован ftp_плагин.)
6) Подключение FAR+WinSCP позволяет не только гонять туда-сюда файлы, но и выполнять в консоли команды на роутере.
7) Подключение FAR+WinSCP дает доступ ко всему содержимому роутера (Можно конечно и в ftp дать доступ ко всему содержимому с правами root, но это чревато...)
На некоторые вещи Vitaly_k уже указал, но тем не менее...

al37919
02-04-2008, 07:49
5) Не проверял, но предполагаю, что подключение по FTP не дает возможности редактировать файлы непосредственно на роутере. (Могу и ошибаться. Тут уж насколько хитро реализован ftp_плагин.)
В любом случае: scp, sftp, ftp файл загружается в ПК, редактируется и отсылается обратно. Так что о редактировании на роутере речь все же не идет. Хотя в случае ftp все несколько более сложно, т.к. файл копируется на локальный диск и с него редактируется, а по scp/sftp файл копируется в память ПК. А вот что будет если в качестве ftp клиента в far использовать winscp 1.6 --- не знаю. Да и как работает total тоже не знаю. Не исключено, что все это особенности конкретного клиента.

6) Подключение FAR+WinSCP позволяет не только гонять туда-сюда файлы, но и выполнять в консоли команды на роутере.
Вот уж что никогда не получалось, так как раз это, да и вряд ли это возможно.

Впрочем мой выбор тоже far :)

Кстати, можно еще добавить, что если что то открывать наружу для себя любимого, то лучше если это будет ssh. А если для более широкой публики, то лучше не ssh :)

Reyter
02-04-2008, 14:29
В любом случае: scp, sftp, ftp файл загружается в ПК, редактируется и отсылается обратно.
как работает total тоже не знаю. Не исключено, что все это особенности конкретного клиента.

Вот уж что никогда не получалось, так как раз это, да и вряд ли это возможно.

1) именно это я и имел в виду под "хитростью" реализации плагина. Т.е. конечно можно сделать так, что и по ftp можно будет "напрямую" редактировать файлы на роутере, но сомневаюсь, что кто-либо предусматривал в плагинах такую возможность.
2) получается. но не все команды рекомендуется запускать таким макаром. т.е. типа top или подобные команды, которые осуществляют постоянный вывод на экран, выполнять из фара крайне не рекомендуется.

tebEeN
13-04-2008, 12:05
WL-700gE. K.Furge 1.0.7.8 - 1

Всё (вроде бы) поставил от K.Furge, Создал через WEB нового пользователя, через telnet этот пользователь заходит. Dropbear работает по порту 2222. Сгенерировал в PuttyGen ключ (type SSH 2-RSA).

Бросил его в ~/логин/.ssh/authorized_keys копированием. При соединени через 2222 порт в Putty пишет Server refused our key.

Вопрос: .ssh/authorized_keys - это по умолчанию папка и файл (типа, система понимает это)?

Эта команда тоже ничего не даёт:


dropbearconvert openssh dropbear /opt/home/killer/.ssh/authorized_keys /opt/home/killer/.ssh/authorized_keys
Error: File does not begin with OpenSSH key header
Error reading key from '/opt/home/killer/.ssh/authorized_keys'


Подскажите в чём может быть дело.

DrLabRus
13-04-2008, 12:44
tebEeN
В конце public-ключа один симввол "=" или два "=="?
Это признак "длины" - 1024 и 2048 бит соответственно. Роутер понимает только 1024-битные.
usr/local/root/.ssh/authorized_keys -- обычный файл - одна сторока - один публичный ключ, которому мы "доверяем"
Вроде именно в usr/local/root/.ssh/authorized_keys надо добавлять.

justason
13-04-2008, 16:08
"=" одно
абсолютно те-же самые симптомы.

justason
13-04-2008, 22:14
WL-700gE. K.Furge 1.0.7.8 - 1
...
Эта команда тоже ничего не даёт:


dropbearconvert openssh dropbear /opt/home/killer/.ssh/authorized_keys /opt/home/killer/.ssh/authorized_keys
Error: File does not begin with OpenSSH key header
Error reading key from '/opt/home/killer/.ssh/authorized_keys'


Подскажите в чём может быть дело.

Я поэксперементировал с разными ключами, и нашел, что dropbearconvert нравятся приватные ключи. причем сгенереные OpenSSH. Ключи сделанные PyTTY не подходят

DrLabRus
14-04-2008, 07:46
Если информация поможет, то я делал так:
дано: wl500gp + Ubuntu на компе
действия:
1) сгенерировал ключи
ssh-keygen -t rsa -b 1024
// с пустым паролем
2) публичный ключ тут
~/.ssh/id_rsa.pub
3) на роутере
mkdir /usr/local/root/.ssh
//Edit the file /usr/local/root/.ssh/authorized_keys -- insert key
//Multiple keys can be inserted here and are seperated by a new line. One line for each key.
//add /usr/local/root/.ssh to /tmp/local/.files
flashfs save && flashfs commit && flashfs enable && reboot
4) подключаюсь так
ssh -l admin 192.168.1.1

Никакого конвертирования не потребовалось.

justason
14-04-2008, 21:49
Если информация поможет, то я делал так:
...
Никакого конвертирования не потребовалось.

Спасибо, помогло.
Только осталось впечатление, что dropbear работает только с незапароленными ключами...

uinoksk
02-07-2008, 17:29
почитал всю тему, а никто в справку putty не пробовал смотреть?
Общий вариант понял с использованием двух ключей, но можно в лайк-вин для автоматизации пользоваться, допустим таким батником:


cd /d "C:\Program Files\putty"
start putty.exe -ssh 192.168.0.1 -l LOGIN_NAME -pw LOGIN_PASSWORD -load 123
кому как удобнее в общем то.

phobos
04-07-2008, 19:54
Инструкуия по коннекту putty с использованием puttygen полностью функциональна, получилось с первого раза :D
А вот с установкой sftp не все так гладко:
команда ipkg install openssh-sftp-server не работает, а установка openssh заканчивается некорректно, так что после пакет нельзя удалить, но sftp сервер при этом встает корректно. После этого WinSCP коннектится без проблем.
Спасибо за инструкцию!!!

-=serg=-
01-12-2008, 12:46
Хорошая инструкция! Правда возник один вопрос и поиск мне не помог:) Разве не требуется создания файла конфигурации ssh, чтобы прописать некоторые вещи, например: разрешенный способ аутентификации, тип протокола, используемые протоколы шифрования?:confused: Сейчас при отсутствии приватного ключа вход можно выполнить по логину и паролю.

angel_il
01-12-2008, 13:05
Хорошая инструкция! Правда возник один вопрос и поиск мне не помог:) Разве не требуется создания файла конфигурации ssh, чтобы прописать некоторые вещи, например: разрешенный способ аутентификации, тип протокола, используемые протоколы шифрования?:confused: Сейчас при отсутствии приватного ключа вход можно выполнить по логину и паролю.

так а если вы ключ потеряете, что-ж делать то будете без возможности входа по связке логин-пароль?

вот тут, например, можно почитать о запрете в dropbear парольной аутентификации
http://joesbitbucket.blogspot.com/2006/10/disabling-password-authentication-on.html

в частности ключ -s отвечает за это.

-s = Disable password logins

-=serg=-
01-12-2008, 14:11
Спасибо большое! Работает:)

так а если вы ключ потеряете, что-ж делать то будете без возможности входа по связке логин-пароль?
Возможны варианты
1. Хранить ключ в нескольких надежных местах
2. Войти по telnet (из локалки)
3. Я очень слабо понимаю английский, но по вашей ссылке вроде приведен пример разных способов авторизации на разных портах:)

Мне кажется, что имея возможность войти по паролю теряется почти весь смысл ключей. Бот просто будет перебирать пароли игнорируя ключи. При ключе все равно надо ввести как минимум ключевую фразу, т.е. удобство на уровне связки логин-пароль.
Поправьте меня, если где то заблуждаюсь.

Эх, если бы dropbear еще понимал ключи длиннее 1024:rolleyes:

Owl
04-12-2008, 22:26
Да, если защищать ключ пассфразой - не работает. Без - пожалуйста.

другИгого
29-01-2009, 22:02
Кому надо криптовать ключ ставьте openssh, все работает почти также и почти само )

Правда пришлось в /opt/etc/init.d/S40sshd
[ -e /opt/etc/default/openssh ] && . /opt/etc/default/openssh
заменить на
[ -e /opt/etc/openssh ] && . /opt/etc/openssh

Может где-то косяк при настройке был конечно, может у кого и /opt/etc/default/openssh будет, у меня не было после установки. Да и не понятно зачем этот дефолт нужен.

Doctor013
08-08-2009, 10:15
Если информация поможет, то я делал так:
дано: wl500gp + Ubuntu на компе
3) на роутере
mkdir /usr/local/root/.ssh
//Edit the file /usr/local/root/.ssh/authorized_keys -- insert key
//Multiple keys can be inserted here and are seperated by a new line. One line for each key.
//add /usr/local/root/.ssh to /tmp/local/.files
flashfs save && flashfs commit && flashfs enable && reboot
4) подключаюсь так
ssh -l admin 192.168.1.1

Никакого конвертирования не потребовалось.
Еще проще -
с ноута (Ubuntu 9.04):
ssh-copy-id admin@192.168.1.1

kr1sed
17-12-2009, 08:04
Dropbear — авторизация по ключам (на примере Asus wl-500gp-v1)

Основная причина по которой я решил настроить доступ к консоли ssh сервера dropbear - это постоянный брут моего сервера
(боты не дают покоя). Как только в логах прочно закрепился один IP из германии, который тщетно пытался подобрать пароль
к моему роутеру в течении двух суток, терпению пришел конец и я решил выделить время и прекратить этот беспредел.

На ум пришло два выхода:

1. Хитро настроить Iptables, с безжалостным баном всех надоедливых «китайцев».
2. Доступ по ключам. Я выбрал второе — удобство купе с безопасностью.

Итак начнем. Нам понадобится роутер Asus wl 500gp с альтернативной прошивкой на борту (я использую прошивку «Олега»), сам dropbear,
клиент putty, утилита для генерации ключей Puttygen, клиент winscp, пожалуй все, да и забыл — прямые руки и холодный рассудок :)

Подключаемся через Putty и создаем каталог с файлом публичного ключа для авторизации.


# mkdir /tmp/local/root/.ssh
# touch /tmp/local/root/.ssh/authorized_keys
# mcedit /tmp/local/root/.ssh/authorized_keys
С помощью Puttygen генерируем публичный и приватный ключи, публичный с помощью copy-paste вставляем
в файл авторизованных ключей authorized_keys. Применяем настройки и перезагружаем роутер.


# flashfs save && flashfs commit && flashfs enable && reboot
Теперь пробуем залогиниться с помощью приватного ключа. Настройки производим в клиенте Putty.

-Session:

Открывем Putty, во вкладке sessions указываем адрес сервера — IP или DNS имя.

-Connection → Data:

В поле «Login details» «Auto-login username» указываем наш логин под которым мы будем соединятся (admin,root, etc)

-Connection → SSH → Auth

Открываем файл с нашим приватным ключом для авторизации.

-Session

Вписываем имя нашей сессии и сохраняем (save).

Пробуем соединиться, если все прошло успешно, вводим парольную фразу, если указывали при генерации
приватного ключа (рекомендую задать) либо автоматически подключаемся, если парольную фразу не задавали.

Теперь нужно изменить права доступа к файлу с публичным ключом и запретить
серверу dropbear принимать соединения по логину и паролю.


# mcedit /usr/local/sbin/post-boot
Задаем параметр -s для отключения регистрации по логину и паролю:


dropbear -s -p 22
Изменяем права к файлу и папке:


# chmod 0700 /tmp/local/root/.ssh
# chmod 0600 /tmp/local/root/.ssh/authorized_keys
Применяем настройки и перезагружаемся:


# flashfs save && flashfs commit && flashfs enable && reboot
http://bruteforcer.ru/index.php/2009/10/06/dropbear-avtorizaciya-po-klyucham-na-primere-asus-wl-500gp-v1/ ;)

D.Ilyin
23-05-2010, 19:09
так а если вы ключ потеряете, что-ж делать то будете без возможности входа по связке логин-пароль?

вот тут, например, можно почитать о запрете в dropbear парольной аутентификации
http://joesbitbucket.blogspot.com/2006/10/disabling-password-authentication-on.html

в частности ключ -s отвечает за это.

-s = Disable password logins
Не подскажете в какой файл этот самый ключ -s дописать?

angel_il
24-05-2010, 05:46
Не подскажете в какой файл этот самый ключ -s дописать?

в строчку запуска ssh сервера (dropbear).

D.Ilyin
24-05-2010, 19:05
в строчку запуска ssh сервера (dropbear).angel_il спасибо за попытку подсказать. Но я спрашивал о файле. То что необходимо добавить я понимаю, однако не знаю куда именно.
В папке /etc/init.d/ файлов запуска dropbear (ssh) нет, так как он насколько я помню уже встроен в прошивку от интузиастов.
Поэтому вопрос где искать этот самый файл запуска.

tolly777
25-05-2010, 14:58
Подскажите пожалуйста!
1. Правильно ли я понял: все что описано по поводу генерации ключей надо только если не хочется вводить логин и пароль?
2. Я подключаюсь к роутеру DIR-320 с прошивкой WL500gpv2-1.9.2.7-d-r1087 (+ джентельменский набор из программ для чайников) находящемуся в другой подсети городской локалки - на нем Enable SSH Server -Yes, порт - 2221, в post-firewall - iptables -I INPUT -p tcp --syn --dport 2221 -j ACCEPT. В ответ получаю в PUTTY: SSH-2.0-dropbear_0.52 - что дальше? Установилась ли связь? Если да, то как вводить логин и пароль?

angel_il
25-05-2010, 18:24
angel_il спасибо за попытку подсказать. Но я спрашивал о файле. То что необходимо добавить я понимаю, однако не знаю куда именно.
В папке /etc/init.d/ файлов запуска dropbear (ssh) нет, так как он насколько я помню уже встроен в прошивку от интузиастов.
Поэтому вопрос где искать этот самый файл запуска.

уменя дропбир запускается в
/tmp/local/sbin/post-boot

Power
25-05-2010, 22:55
2. Я подключаюсь к роутеру DIR-320 с прошивкой WL500gpv2-1.9.2.7-d-r1087 (+ джентельменский набор из программ для чайников) находящемуся в другой подсети городской локалки - на нем Enable SSH Server -Yes, порт - 2221, в post-firewall - iptables -I INPUT -p tcp --syn --dport 2221 -j ACCEPT. В ответ получаю в PUTTY: SSH-2.0-dropbear_0.52 - что дальше? Установилась ли связь? Если да, то как вводить логин и пароль?

Надо выбрать протокол ssh для подключения. А у вас, видимо, telnet выставлен или что-то ещё. А связь установилась.

tolly777
26-05-2010, 06:40
...telnet выставлен или что-то ещё...
Спасибо! Действительно подключался с помощью puttytel, у которой SSH протокола нет. С putty - все ОК!

DSJ
22-08-2010, 14:28
при команде:
ipkg install openssh-sftp-server
пишет:
-sh: ipkg: not found

В чём может быть проблема? :(

Роутер: WL500gpv2
Прошивка: 1.9.2.7-10.7

OlegaVB
22-08-2010, 15:00
Судя по всему ipkg не установлен. Как установить вот тут Установка ipkg (http://wl500g.info/showpost.php?p=128993&postcount=5)

DSJ
22-08-2010, 15:05
mkdir -p /opt/tmp/ipkg
mkdir: Cannot create directory `/opt/tmp/': Read-only file system

:(

VicSer
22-08-2010, 15:14
mkdir -p /opt/tmp/ipkg
mkdir: Cannot create directory `/opt/tmp/': Read-only file system

:(

Если Вы ставите в память роутера, то для начала выполните следующие команды:



mkdir /tmp/local/opt
mount /tmp/local/opt /opt

DSJ
22-08-2010, 15:26
to VicSer, OlegaVB

Спасибо, помогло :)

DSJ
22-08-2010, 17:29
А как сделать чтобы при перезагрузке монтировался?
mount /tmp/local/opt /opt

А то вручную приходится.

Может сюда прописать:
echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot

VicSer
22-08-2010, 18:21
Может сюда прописать:
echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot

Совершенно верно, но только если в файле post-boot больше ничего нет, то вначале надо выполнить такую команду:


echo "#!/bin/sh" >> /usr/local/sbin/post-boot


И не забыть сделать его исполняемым след. командой:


chmod +x /usr/local/sbin/post-boot


;)

rstaganrog
20-11-2010, 10:00
Создано несколько разных файлов конфигурации маршрутизатора посредством web-интерфейса "Администрирование | Сохранение" (файлы Settings.CFG).

В зависимости от условий несколько раз в день требуется загружать в роутер один из этих файлов конфигурации. Выполнять это через web-интерфейс "Администрирование | Восстановление настроек" слишком длинно (вдобавок нужно выбирать настройки в диалоге выбора файла).

Все действия происходят в WinXP.

Для упрощения процесса и минимизации требуемого уровня квалификации для выполнения этой процедуры (выполнять её буду не только я:)) предполагается создать несколько ярлыков с параметрами, указывающими на определённый файл настроек Settings.CFG. В этом случае для изменения параметров маршрутизатора оператору достаточно будет кликнуть мышкой на требуемом ярлыке без необходимости запуска web-интерфейса и возможности ошибиться при его использовании.

Задача имеет решение? Зависит ли оно от прошивки (стандартная или от энтузиастов)?

tempik
21-11-2010, 19:57
Создано несколько разных файлов конфигурации маршрутизатора посредством web-интерфейса "Администрирование | Сохранение" (файлы Settings.CFG).

В зависимости от условий несколько раз в день требуется загружать в роутер один из этих файлов конфигурации. Выполнять это через web-интерфейс "Администрирование | Восстановление настроек" слишком длинно (вдобавок нужно выбирать настройки в диалоге выбора файла).

Все действия происходят в WinXP.

Для упрощения процесса и минимизации требуемого уровня квалификации для выполнения этой процедуры (выполнять её буду не только я:)) предполагается создать несколько ярлыков с параметрами, указывающими на определённый файл настроек Settings.CFG. В этом случае для изменения параметров маршрутизатора оператору достаточно будет кликнуть мышкой на требуемом ярлыке без необходимости запуска web-интерфейса и возможности ошибиться при его использовании.

Задача имеет решение? Зависит ли оно от прошивки (стандартная или от энтузиастов)?

Готовое решение лень расписывать ... Могу направить на путь ... Прошивка энтузиастов -> скрипт загружающий нужную конфигурацию -> Putty (SSH->Remote command->запуск скрипта)->ярлык для Putty автологина ... Удачи

rstaganrog
21-11-2010, 20:34
Готовое решение лень расписывать ... Могу направить на путь ... Прошивка энтузиастов -> скрипт загружающий нужную конфигурацию -> Putty (SSH->Remote command->запуск скрипта)->ярлык для Putty автологина ... Удачи
Правильно ли я понимаю, что на родной прошивке нельзя запустить telnet?

tempik
21-11-2010, 22:21
Правильно ли я понимаю, что на родной прошивке нельзя запустить telnet?
Можно. Только большинство из здесь присутствующих родную прошивку видел один раз перед прошивкой на альтернативную или не видел вообще... Родную прошивку обсуждают не здесь а на форуме асус`а

mash
26-07-2011, 17:38
Здравствуйте! Всегда заходил с компа на котором установлена винда в файловую систему роутера по Winscp,(для редактирования mpcs), а тут возникла ситуация, когда надо зайти в роутер с макбука, там две прогаммы установлены: cyberduck и transmit, так вот, не получается зайти ни с одной.
Подскажите где, что настроить?

Разобрался, дошло наконец.Надо всего лишь установить openssh-sftp-server
(ipkg install openssh-sftp-server).Теперь захожу и с transmit и cyberduck.
(Winscp без установки openssh-sftp-server заходила)
Вопрос снят

Упс! Поспешил с выводами. Всё работает на WL500gp с прошивкой 1.9.2.7-d-r2624 с подключённым HDD, а вот на втором WL500gp но с прошивкой -rtn-r3158 и без подключённого диска (в одном usb 3g модем,в другом переходник на pl2303) не запускается openssh-sftp-server.

Подскажите пожалуйста как установить openssh-sftp-server на прошивке rtn и в основную память?

p.s

Делал так : mkdir /tmp/local/opt
mount /tmp/local/opt /opt
ipkg.sh update
ipkg.sh install ipkg
ipkg update
ipkg install openssh-sftp-server
echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
в /opt/libexec/sftp-server присутствует , но не запускается