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