Como uma máquina do EC2 impede o acesso à raiz do ssh com um aviso?

0

Eu configurei uma máquina no EC2 executando o Debian stretch. Ao tentar ssh como root, recebo a seguinte mensagem:

$ ssh -i "mykey" root@machine Please login as the user "admin" rather than the user "root".

^CConnection to machine closed.

Observe o ^C - o comando não termina.

Eu posso logar como admin sem nenhum problema, e estou ciente de porque isso é feito - eu não tenho certeza sobre como . / p>

Meu primeiro palpite foi o shell

admin@machine:~$ grep root /etc/passwd root:x:0:0:root:/root:/bin/bash

Não. Eu verifiquei nologin apenas no caso:

admin@machine:~$ /usr/sbin/nologin This account is currently not available.

Mensagem diferente.

Qual é o mecanismo que faz o sistema imprimir a mensagem no login?

    
por goncalopp 25.11.2018 / 17:42

1 resposta

3

Eu descobri, no processo de escrever a pergunta. Eu inicialmente assumi que root não tinha configuração ssh, porque o bash não era completo. Claro, você não pode concluir a tabulação se não tiver permissões para os arquivos ...

admin@machine:~$ sudo su

root@machine:# cat /root/.ssh/authorized_keys

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"admin\" rather than the user \"root\".';echo;sleep 10" ssh-rsa ...

Então, isso explica. Isso é feito por meio de um comando personalizado no formato authorized_keys - consulte a seção AUTHORIZED_KEYS FILE FORMAT no manual do sshd para obter detalhes .

Como foi apontado nos comentários, a razão para o sleep é provável para que os usuários do PuTTY tenham tempo de ler a mensagem

    
por 25.11.2018 / 17:46