A maneira padrão é armazená-los em arquivos de texto simples e protegê-los com permissões do sistema de arquivos. Isso é tão bom quanto a segurança das contas que podem lê-los e sua capacidade de manter essas permissões no lugar ao longo do tempo.
Há uma tendência de as permissões bloqueadas ficarem mais soltas à medida que diferentes aplicativos gravam nos arquivos ou em seus diretórios ao longo do tempo. As ACLs de diretório podem ajudar, por exemplo:
setfacl -m d:g::-,d:o:- /secret/dir
para tentar impor permissões vazias para grupo e outros sempre que novos arquivos forem gravados no diretório - por exemplo, se um editor criar uma nova cópia do arquivo de senha, em vez de atualizar o arquivo original.
Se você quiser usar as chaves ssh, poderá armazenar os segredos em texto simples em outro host que permita somente o login por chaves ssh. Você teria que fazer o script em log naquele host, lendo o arquivo de senha e depois usando-o em um comando ssh. Isso seria difícil de fazer de forma confiável e segura, mas poderia funcionar.
A maioria das opções em que você pode pensar depende de permissões do sistema de arquivos para sua segurança. Capítulo 11 do SSH: O Secure Shell tem uma discussão sobre os trade-offs.