dbclient – логин без ввода пароля вручную

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

Есть две проблемы:

  • Установка там нелегкая (очень ограниченное пространство, многие пакеты должны быть скомпилированы мной, прежде чем я даже попробую, если это сработает).

  • Сервер, к которому я хочу подключиться, не уважает ключи RSA.

Поскольку мой маршрутизатор использует dropbear , я пробовал следующие стратегии:

  • определение DROPBEAR_PASSWORD

  • определение SSH_ASKPASS_ALWAYS и SSH_ASKPASS

  • Определенный SSH_ASKPASS и DISPLAY

  • небольшой скрипт чата – не знаю, было ли все в порядке, разместив его ниже.

  • ssh login@machine < password-file &

Все напрасно. Мне кажется, что документация не распространяется на мой dbclient , несмотря на то, что у меня есть последняя версия (Dropbear v2014.65)

Вот что мой dbclient может сказать о себе:

  root@OpenWrt:~# dbclient -h Dropbear SSH client v2014.65 (link) Usage: dbclient [options] [user@]host[/port] [command] -p <remoteport> -l <username> -t Allocate a pty -T Don't allocate a pty -N Don't run a remote command -f Run in background after auth -y Always accept remote host key if unknown -y -y Don't perform any remote host key checking (caution) -s Request a subsystem (use by external sftp) -i <identityfile> (multiple allowed) -A Enable agent auth forwarding -L <[listenaddress:]listenport:remotehost:remoteport> Local port forwarding -g Allow remote hosts to connect to forwarded ports -R <[listenaddress:]listenport:remotehost:remoteport> Remote port forwarding -W <receive_window_buffer> (default 24576, larger may be faster, max 1MB) -K <keepalive> (0 is never, default 0) -I <idle_timeout> (0 is never, default 0) -J <proxy_program> Use program pipe rather than TCP connection -c <cipher list> Specify preferred ciphers ('-c help' to list options) -m <MAC list> Specify preferred MACs for packet verification (or '-m help') -V Version 

скрипт chat :

assword: mypassword123

ash сценарий:

 chat -f scriptfile & ssh login@machine 

Раковина моего маршрутизатора – ash .

Я читал, что эта проблема решена expect , но я сомневаюсь, что у меня будет достаточно места на моем маршрутизаторе для ее зависимостей – в настоящее время у меня осталось 300 КБ пространства на моем маршрутизаторе, но я мог бы как-то восстановить до 512 КБ.

Как мне подключиться?

Interesting Posts

Что такое синтаксис bash для извлечения значений из нескольких экземпляров одного и того же аргумента?

повторение значения из функции BASH после выполнения команды в фоновом режиме

Легко переключаться между браузером и редактором

Разрешение спецификации:% i и% I разница?

Централизация конфигурации CUPS

подстановка процесса для открытия списка файлов с приложением

Linux Mint 13 Mate: по умолчанию текущее имя пользователя синаптическая аутентификация

Ограничить использование одного и того же пароля в течение периода времени

Mount unionfs (или aufs) ветвей, поданных из stdin?

Убейте запущенный сценарий оболочки и убейте весь процесс, запущенный внутри него

Как интерпретировать этот вывод команды lsof?

Какая команда отображает все свойства моего ПК на терминале

Переименуйте несколько файлов в свои суффиксы

Печать на Solaris

Почему запись в существующий файл происходит быстрее, чем запись нового пустого файла?

Linux и Unix - лучшая ОС в мире.