В настоящее время я использую SSHPass в скрипте для подключения к удаленному серверу:
sshpass -p PASSWORD ssh -o StrictHostKeyChecking=no USERNAME@1.1.1.1
и для выполнения любой команды удаленно, я использую:
sshpass -p PASSWORD ssh -o StrictHostKeyChecking=no USERNAME@1.1.1.1 "COMMAND"
Я планирую отделить шаг подключения в одном скрипте (conn.sh) и командах в другом (cmd.sh).
Я пробовал этот путь:
cmd.sh:
#!/bin/bash
ls -ltr
conn.sh:
#!/bin/bash
sshpass -p PASSWORD ssh -o StrictHostKeyChecking=no USERNAME@1.1.1.1 "$1"
И исполнение после предоставления обоих сценариев «chmod a + x»:
./conn.sh cmd.sh
Но это дало me error:
cmd.sh: command not found
Я даже попытался заменить $1 на путь к cmd.sh, но он дал мне эту ошибку:
sh: /home/myhome/cmd.sh: No such file or directory