Como a versão em nuvem do Ubuntu impõe o "login sem root" sobre o ssh?

Como a versão em nuvem do Ubuntu impõe o "login sem root" sobre o ssh?

Estou tentando ajustar a configuração padrão da versão em nuvem do Ubuntu, onde nega o login root.

A tentativa de conexão com essa máquina resulta:

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh [email protected]
The authenticity of host 'ec2-204-236-252-95.compute-1.amazonaws.com (204.236.252.95)' can't be established.
RSA key fingerprint is 3f:96:f4:b3:b9:4b:4f:21:5f:00:38:2a:bb:41:19:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-204-236-252-95.compute-1.amazonaws.com' (RSA) to the list of known hosts.
Please login as the ubuntu user rather than root user.

Connection to ec2-204-236-252-95.compute-1.amazonaws.com closed.

Gostaria de saber em qual arquivo de configuração está configurado o bloqueio de root via ssh e como posso alterar a mensagem impressa?

Responder1

Pergunta antiga, mas ninguém realmente te respondeu e eu tive a mesma pergunta: De onde vem essa configuração?

Origina-se denuvem, precisamente cc_ssh.pydentro/usr/lib/python2.7/dist-packages/cloudinit/config

Isso, por sua vez, depende diretamente do arquivo /etc/cloud/cloud.cfg. Você encontra uma linha disable_root: true.

Você deve ser capaz de substituí-lo ajustando seus dados do usuário e adicionando line disable_root: false. Seu provedor de nuvem deve tornar os dados do usuário configuráveis.

Responder2

Supondo que sua configuração sshd tenha PermitRootLogin yes.

sudo grep "login as the ubuntu user" /root/.??*

No entanto, o link fornecido por Mike Scott é um que recomendo fortemente que você leia atentamente e preste atenção.

SSH RAIZ

Finalmente, se você deseja contornar o padrão de segurança do Ubuntu e voltar à antiga prática de permitir ssh e rsync como root, este comando irá abri-lo para uma nova instância das imagens oficiais do Ubuntu:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' Isso não é recomendado, mas pode ser uma maneira de fazer com que o código de automação existente do EC2 continue funcionando até que você possa atualizar para as práticas sudo descritas acima.

Eu mantenho os logins SSH root desabilitados porque qualquer servidor público com SSH habilitado será atacado continuamente, dia e noite, por tentativas de login root de botnets criminosos.

Em outros lugares a documentação avisa

Habilitar a conta Root raramente é necessário. Quase tudo que você precisa fazer como administrador de um sistema Ubuntu pode ser feito via sudo ou gksudo. Se você realmente precisa de um login Root persistente, a melhor alternativa é simular um shell de login Root usando o seguinte comando...

sudo -i

Responder3

A resposta está aqui:http://alestic.com/2009/04/ubuntu-ec2-sudo-ssh-rsync

Copie o arquivo autorizado_keys da conta ubuntu para a conta root. O login por senha está desabilitado, então você precisa ter uma chave ssh válida para fazer login em qualquer conta.

Responder4

Verifique /etc/ssh/sshd_config, a opção é chamada "Permitir login root"

 PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be “yes”, “without-password”, “forced-commands-only”, or
         “no”.

Uma das configurações mais úteis é "sem -senha", que permite fazer login no root, mas somente se você usar autenticação de chave pública. man sshd_config para mais informações :)

informação relacionada