AWS: como parar o cloud-init de desabilitar o login raiz

6

Na AWS, consegui criar uma AMI com um Ubuntu modificado 12.04 LTS amd64. Eu adicionei muitos pacotes e muito do nosso próprio código e arquivos. O cloud init ainda está lá e tenho certeza que deveria ficar. No entanto, ele está prejudicando minhas automações ao desativar novamente o root no tempo de execução, depois que eu o habilitei no volume original que foi usado para criar o instantâneo para a AMI.

O arquivo /usr/share/pyshared/cloudinit/CloudConfig/cc_ssh.py parece estar conectado a ele. Como não tenho experiência em codificação Python, não tenho ideia de quais são algumas das funções que chama, por isso não consigo ver realmente o que todo esse script está fazendo.

Eu poderia apenas adicionar um script próprio para executar depois, em algum lugar, apenas para desfazer isso e reativar o root. Existe uma maneira, padronizada ou sancionada pelo cloud init, para definir um sinalizador para indicar que a desativação do login root não deve ser feita? Ou eu deveria apenas implementar minha própria solução? /root/.ssh/authorized_keys).

Também vejo que esse script está removendo as chaves do host antigo e está gerando novas chaves. Isso é algo que eu gostaria de manter (portanto, eu não precisarei fazer isso sozinho).

Eu também tenho o número da porta de escuta do SSH alterado para um número diferente de 22 (e o grupo de segurança definido para permitir o acesso a essa porta apenas dos meus próprios IPs). Isso não mudou. Isso é bom.

    
por Skaperen 28.07.2012 / 18:12

2 respostas

7

O código parece verificar um valor de configuração booleana disable_root , por isso acredito que você precise definir isso em /etc/cloud/cloud.cfg :

disable_root: 0
    
por 29.07.2012 / 02:56
0

Existem duas configurações relacionadas ao ssh em /etc/cloud/cloud.cfg. Um bloqueia o ssh como root e o outro bloqueia o ssh usando uma senha. Por padrão, o cloud.cfg bloqueará todos os logins direto como root e toda a autenticação baseada em senha ssh. Estes são os padrões:

disable_root: 1
ssh_pwauth:   0

1 para desabilitar a ativação da raiz ao desabilitar o login da raiz e o 0 para o ssh pwauth desativa a capacidade de usar ssh usando uma senha. Então, se você quiser fazer o login como root E faça isso com uma senha, estas são as configurações necessárias:

disable_root: 0
ssh_pwauth:   1

Lembre-se de que definir ssh_pwauth como 1 permite a autenticação baseada em senha globalmente NÃO apenas para o root.

    
por 29.01.2018 / 17:49