O MAAS fará com que você tenha acesso a cada nó adicionando a chave que Juju lhe diz (e essa chave é apenas sua chave pública). As unidades não têm acesso SSH a si mesmas por design (pense nas implicações de segurança!).
Se você quiser fazer com que todas as unidades ou serviços possam acessar uns aos outros, você precisa que cada máquina gere uma chave SSH para o usuário que deseja interagir, e então envie sua chave pública ssh através da relação. Então, se isso é para um mestre - > configuração de escravos aqui é como você faria algo assim:
master-charm / metadata.yaml
name: master-charm
provides:
master:
interface: my-charm-interface
slave-charm / metdata
name: slave-charm
requires:
master:
interface: my-charm-interface
Então, em cada encanto, você precisará fazer algo como o seguinte:
(master | escravo) -charm / hooks / master-relation-joined
#!/bin/bash
if [ ! -f ~user-you-want-access/.ssh/id_rsa ]; then
ssh-keygen -t rsa -N "" -f ~user-you-want-access/.ssh/id_rsa
chown -R user-you-want-access.user-you-want-access ~user-you-want-access/.ssh
fi
relation-set public-key="$(cat ~user-you-want-access/.ssh/id_rsa.pub)"
(master | escravo) -charm / hooks / master-relation-changed
#!/bin/bash
key="$(relation-get public-key)"
if [ ! -z "$key" ] && ! grep -q "$key" ~user-you-want-access/.ssh/authorized_keys; then
echo "$key" >> ~user-you-want-access/.ssh/authorized_keys
chown -R user-you-want-access.user-you-want-access ~user-you-want-access/.ssh
fi
Estes são apenas para esboçar como você modelaria algo assim. Você poderia fazer o mesmo para o acesso entre nós usando as relações de pares.