Другой вопрос безопасен ли этот sshpass?
На уровне кода, полагаю, что достаточно.
Дело в том, что пароль открытым текстом остаётся в истории командного интерпретатора.
Иногда это проблема, иногда нет, короче, зависит от ситуации.
Это ясно, что если есть ~/.ssh/known_hosts, то и -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ,наверое, не надо.
Не совсем так.
Там должна быть правильная строка, составленная из имени сервера, его IP-адреса и ключа.
Если на сервере переустановить ОС, то пока эту строку не затрёшь специальной командой или руками, то фиг подключишься.
Но с указанными опциями можно подключиться независимо от содержимого ~/.ssh/known_hosts.
А можно ли неинтерактивно создать это самый known_hosts зная параметры сервера?
Можно.
echo '...' >>~/.ssh/known_hosts