Обычно вы не можете не в этом случае вы можете сделать:
{
cat parameter.sh
grep -xvF '. parameter.sh' filename.sh
} | ssh host bash -s
То есть передать содержимое обоих файлов в качестве входных данных на удаленный bash
и удалить .
команда, которая больше не нужна.
Невозможно достичь того, о чем вы просите. Пароль / кодовая фраза должны быть написаны кем-то, чтобы они были чем-то полезными. Если вы зашифруете ключ и сохраните парольную фразу рядом с ним ( sshpass
, ожидайте
сценарий), нет смысла в шифровании ключа.
Таким образом, у вас может быть либо безопасность (требовать парольную фразу при каждой перезагрузке), либо высокую доступность (хранить незашифрованный ключ).
Последняя возможность - использовать какой-нибудь модуль HSM или смарт-карту. Это предотвратит копирование ключа кем-либо еще в другом месте, но все же вам нужно будет хранить пин-код рядом с ним, чтобы иметь возможность выполнять операции с закрытым ключом на HSM.