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


8

Eu estou olhando para ajustar a configuração padrão da versão em nuvem do ubuntu, onde nega o login root.

Tentar se conectar a essa máquina gera:

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh root@ec2-204-236-252-95.compute-1.amazonaws.com
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 o bloqueio raiz via ssh está configurado e como posso alterar a mensagem impressa?

Respostas:


14

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

Ele se origina do cloudinit , precisamente cc_ssh.pydentro de/usr/lib/python2.7/dist-packages/cloudinit/config

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

Você poderá substituí-lo ajustando os dados do usuário e adicionar linha disable_root: false. Seu provedor de nuvem deve tornar os dados do usuário configuráveis.


9
O que o cloud-init faz é adicionar uma linha no /root/.ssh/authorized_keysformulário no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ubuntu\" rather than the user \"root\".';echo;sleep 10" ssh-rsa xxxxxx. Portanto, mesmo se PermitRootLogin yeso comando ssh falhar ao obter um shell de trabalho.
precisa saber é o seguinte

5

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

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

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

ROOT SSH

Por fim, se você deseja contornar o padrão de segurança do Ubuntu e reverter para a antiga prática de permitir ssh e rsync como root, este comando o abrirá 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 EC2 existente continue funcionando até que você possa atualizar para as práticas sudo descritas acima.

Eu mantenho os logins SSH raiz desativados, porque qualquer servidor público com SSH ativado será prejudicado continuamente dia e noite pelas tentativas de login raiz de botnets criminais.

Em outros lugares, a documentação alerta

Habilitar a conta raiz 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


1
Obrigado. cat /root/.ssh/authorized_keys contém um aviso para abrir eco em vez de bash shell. Não consigo imaginar por que não consegui encontrá-lo. Obrigado.
precisa


0

Marque / 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 na raiz, mas apenas se você usar autenticação de chave pública. man sshd_config para mais informações :)


A autenticação somente do certificado ssh é ativada em todas as instâncias do linux do EC2; esse é o único método de acesso remoto à máquina. Obviamente, sou capaz de efetuar login no nó, caso contrário, a mensagem mencionada não seria impressa. Observe também: cat / etc / ssh / sshd_config | grep -i root PermitRootLogin yes
Maxim Veksler
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.