Linux Sshpass не может выполнить команду удаленно

У меня есть пульт red-hat 5.4 машина, где я могу выполнить

sudo lvdisplay

Команда локально, используя пользователя xyz, но при выполнении той же команды удаленно, используя пользователя xyz через sshpassЯ получаю результат как

sudo: lvdisplay: команда не найдена.

Команда, которую я выполняю, похожа на

sshpass -p 'пароль' ssh -p 22 -o StrictHostKeyChecking= нет xyz@ имя хоста sudo lvdisplay

,

Пожалуйста, помогите мне решить проблему.

1 ответ

sshpass -p pass ssh -t user@192.168.XXX.XXX 'ls; баш-л '

Попробуйте приведенную выше команду, она сработала для меня. Не забудьте заменить "pass" и "user".

Вместо того, чтобы передавать команду в одной строке, используйте один файл. напишите команду в этом. передайте этот файл с помощью оператора перенаправления, как показано ниже. (file.txt - это файл, содержащий команду)

sshpass -p 'password' ssh -p 22 -o StrictHostKeyChecking=no xyz@hostname < file.txt

используя этот метод, вы можете ввести более одной команды.

Используйте ссылку ниже для справки

https://neerajmhatre.blogspot.com/2020/07/sshpass-to-run-commands-on-remote-server.html

Другие вопросы по тегам