A solução que criei é definir uma senha para os nós recém-inicializados e inserir manualmente as chaves SSH em cada um deles. Para definir uma senha de boot para o usuário do ubuntu, assegure-se de que as seguintes linhas estejam disponíveis em /var/lib/cobbler/kickstarts/maas.preseed:
d-i passwd/make-user boolean true
d-i passwd/user-fullname ubuntu
d-i passwd/username string ubuntu
d-i passwd/user-password-crypted password <CRYPTED PASSWORD>
Uma vez feito isto, você pode usar o ssh ubuntu @ e usar a senha especificada na string de senha criptografada (a maneira mais fácil é usar um de um arquivo / etc / shadow que você já conhece) para efetuar login. Chaves públicas SSH sob ~ ubuntu / .ssh / authorized_keys e ~ root / .ssh / chaves autorizadas.
Observe que esta é uma solução alternativa - uma vez que você ssh-keygen, o MaaS deve estar puxando o id_rsa.pub do seu diretório .ssh ou do MaaS WebUI, onde o usuário pode especificar uma chave pública em seu perfil. Não importa o que eu tentei, essas chaves não são propagadas, então eu criei a solução.
Outra fraude é simplesmente adicionar a chave .pub ao .ssh / authorized_keys do seu nó do MaaS e, em seguida, scp-lo para cada um dos nós no MaaS:
for i in 'cobbler system list |grep -v default';
do j='cobbler system dumpvars --name "${i}" | grep hostname |grep -v duplicate |cut -f 2 -d \:';
scp ~/.ssh/authorized_keys ubuntu@${j}:.ssh/authorized_keys;
done
Isso permite que você apenas aceite repetidamente os erros do certificado SSH e digite a senha na string criptografada para preencher todo o seu MaaS com a chave pública SSH.