Pass for router: spawn ssh 192.168.10.1 -l root 'opkg list-installed' > list-installed.txt root@192.168.10.1's password: ash: opkg list-installed: not found spawn_id: spawn id exp6 not open while executing "interact"
Проблема в том, что когда я использую руководство:
это работает без нареканий. Некоторые другие моменты:
'opkg list-installed' > list-installed.txt
Делая это таким образом, он успешно запускает команду opkg list -Installe на удаленном компьютере и сохраняет результат на локальном компьютере. это единственный способ, которым это работает. Если я вхожу по SSH, а затем пытаюсь выполнить эту команду, она не работает, или, если она работает, она сохраняется в удаленном пути.
3 ответа на вопрос
0
konqui
попробуйте это так, сначала подключитесь, затем выполните команду на пульте. не прямой пропуск похвалы на связи.
не работает вероятно, потому что: `Если я войду с SSH и затем попытаюсь выполнить эту команду, она не будет работать, или, если она работает, она сохранится в удаленном пути`.
FernandoSBS 10 лет назад
0
0
Adrien M.
Для чего-то подобного вам следует попробовать SSH Pass или использовать SSH-ключи. Это решило бы вашу проблему с ожидаемым (что похоже на молоток для такого рода вещей).
Таким образом, вы просто запускаете стандартную команду ssh:
да, это работает. Я пытался избежать установки sshpass, но после большого количества потерянного времени, я считаю, что это путь.
FernandoSBS 10 лет назад
0
0
arp
Что-то, что кусает меня снова и снова: оставляя опцию -n выключенной в ssh, циклически просматривая список имен хостов на stdin
sshopts="-o StrictHostKeyChecking=no -o ConnectTimeout=5 " sshopts+=" -n" # keep it from swallowing stdin while read remotehostname; do sshpass [...] ssh $ [...] done < $
[Вставьте стандартную редакционную статью о том, почему sshpass по своей сути небезопасен, если вы не запрашиваете переменную SSHPASS в интерактивном режиме, и все компетентные системные администраторы не должны шутить, пока их местные правила безопасности не разрешат доступ без пароля через ключи ssh.]