Я бы рекомендовал более безопасное, зашифрованное решение. Подготовьте файл, например mysshcmds с этим контентом:
sshpass -p "test1" ssh user@host1
sshpass -p "test2" ssh user@host2
sshpass -p "test3" ssh user@host3
(по одной команде в строке). Затем зашифруйте его с помощью gpg:
gpg -c mysshcmds
Вам будет предложено ввести пароль (дважды). Теперь он создаст зашифрованный файл mysshcmds.gpg. Удалите простой файл.
Чтобы использовать его, вы можете выполнить команду:
gpg -d mysshcmds.gpg 2> /dev/null | grep host1
, которая будет печатать в строке:
sshpass -p "test1" ssh user@host1
, которую вы можете скопировать и пропустить или даже вы можете сделать
$(gpg -d mysshcmds.gpg 2> /dev/null | grep host1)
, который немедленно выдает команду. Или вы можете легко написать сценарий вокруг него. Таким образом, у вас нет пароля, сохраненного на вашем компьютере.
Обратите внимание, что 2> /dev/null здесь, чтобы сделать gpg тихим ... вы можете избежать этого, если хотите.