сценарий ssh просит пароль

не каждая среда OpenWRT IST настроен так же, поэтому мой ответ - это выстрел в темноте ...

Пример выхода взят из OpenWRT-12.09 на «TP-Link TL-WDR4300».

SSH в ваш роутер.

Проверьте свои файловые файлы.

root@AP9:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                    5184      2124      3060  41% /
/dev/root                 2048      2048         0 100% /rom
tmpfs                    63340       948     62392   1% /tmp
tmpfs                      512         0       512   0% /dev
/dev/mtdblock3            5184      2124      3060  41% /overlay
overlayfs:/overlay        5184      2124      3060  41% /
/dev/sda1             31234700    593536  29075728   2% /mnt/sda1

/ dev / sda1 - это карта Micro SD моей палочки UMTS ... просто игнорируйте это.

Многие маршрутизаторы вспыхнули аналогичным образом, как видно здесь: rootly root Fileyytem выполнен Pseudo с записью наложенной файловой системы.

Просмотр / Overlay ...

root@AP9:~# cd /overlay/usr/lib/opkg/info/
root@AP9:/overlay/usr/lib/opkg/info# ls *.list | tail -3
usb-modeswitch-data.list
usb-modeswitch.list
zlib.list

Этот каталог содержит информацию о дополнительно установленных пакетах. Файлы, заканчивающиеся с .List , являются списки файлов, установленных пакетом с аналогичным именем (без .List ):

root@AP9:/overlay/usr/lib/opkg/info# cat zlib.list 
/usr/lib/libz.so.1.2.7
/usr/lib/libz.so.1
/usr/lib/libz.so

Пакет ZLIB имеет 3 файла установлены.

root@AP9:/overlay/usr/lib/opkg/info# du $(cat zlib.list) 
71      /usr/lib/libz.so.1.2.7
1       /usr/lib/libz.so.1
1       /usr/lib/libz.so

Пакет ZLIB имеет 73кбайт установленных файлов.

Неочищенный 1-лайнер, чтобы приклеить это все вместе, и он сокращен выход:

# awk 'BEGIN{D="cd /overlay/usr/lib/opkg/info&&";C=D"ls *.list";while(C|getline>0){P=substr(F=$1,1,length($1)-5);J=D"du -sk $(cat "F")";s=0;while(J|getline>0){s+=$1;t+=$1}close(J);print s"\t"P}print t"\t---TOTAL---"}'
26      blkid
30      block-mount
17      chat
55      comgt
6       kmod-fs-exportfs
(((...some lines skipped...)))
14      portmap
48      swap-utils
223     usb-modeswitch-data
45      usb-modeswitch
73      zlib
4184    ---TOTAL---

HTH!


Добавлено 2014-10-17:

Следующий вывод взята из OpenWRT-12.09 на «TP-Link TL-WR703N» и показывает, как добавить сортировку вывода по размеру пакета.

Посмотрите на то, где и как переменная S входит в игру ...

# awk 'BEGIN{D="cd /overlay/usr/lib/opkg/info&&";C=D"ls *.list";S="sort -n";while(C|getli
ne>0){P=substr(F=$1,1,length($1)-5);J=D"du -sk $(cat "F")";s=0;while(J|getline>0){s+=$1;t+=$1}close(J)
;print s"\t"P|S}close(S);print t"\t---TOTAL---"}'
5       kmod-lib-crc16
5       luci-proto-3g
12      libuuid
13      kmod-usb-serial-wwan
17      chat
24      kmod-usb-acm
24      libusb
26      blkid
30      block-mount
41      kmod-usb-serial
45      usb-modeswitch
48      kmod-usb-serial-option
48      swap-utils
55      comgt
67      kmod-usb-storage
148     libblkid
154     kmod-scsi-core
223     usb-modeswitch-data
382     kmod-fs-ext4
1367    ---TOTAL---

снова: HTH!


Добавлено 2018-01-13:

Вышеуказанный путь был протестирован на OpenWRT-AA.

Теперь, глядя на LEDE-17.01, путь изменился: замена / наложение с / наложение / верхний исправляет это.

Статус-кво ( OPKG-List-User - установленный пользователем-сортированный по размеру Не как 1-лайнер):

#!/usr/bin/awk -f
BEGIN {
        D="cd /overlay/upper/usr/lib/opkg/info&&"
        C=D"ls *.list"
        S="sort -n"
        while(C|getline>0) {
                P=substr(F=$1,1,length($1)-5)
                J=D"du -sk $(cat "F")"
                s=0
                while(J|getline>0) {
                        s+=$1
                        t+=$1
                }
                close(J)
                print s"\t"P|S
        }
        close(S)
        print t"\t---TOTAL---"
}

Test Run:

root@zsun0:~# ./opkg-list-user-installed-sorted-by-size
8       luci-ssl
9       libustream-mbedtls
13      px5g-mbedtls
338     libmbedtls
368     ---TOTAL---

Открытый вопрос: когда это изменение / Overlay Структура происходит? LEDE-17 - преемник OpenWRT-CC, и у меня нет систем Runnig OpenWRT под рукой. Поэтому, если вам нужно это на OpenWRT-BB или -CC, сначала просмотр / Outlay .

1
20.05.2014, 19:32
1 ответ

Вы можете установить пакет sshpass на свой компьютер и после этого Для удаленного выполнения команд:

#!/bin/bash
SCRIPT='
#Your commands
'
sshpass -p<pass> ssh -o 'StrictHostKeyChecking no' -p <port> user@host "$SCRIPT"

У вас также есть sshpass -f и вы можете использовать файл паролей для всех ваших серверов ... Таким образом, вы можете написать цикл для создания ssh и выполнения других действий автоматически ...

0
28.01.2020, 01:56

Теги

Похожие вопросы