In che modo la versione cloud di Ubuntu applica il "no root root" su ssh?


8

Sto cercando di modificare l'installazione predefinita della versione cloud di Ubuntu in cui nega l'accesso root.

Tentativo di connettersi a tali rendimenti della macchina:

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.

Vorrei sapere in quale file di configurazione è configurato il blocco root tramite ssh e come posso modificare il messaggio stampato?

Risposte:


14

Vecchia domanda, ma nessuno ti ha veramente risposto e ho avuto la stessa domanda: da dove viene questa configurazione?

Ha origine dal cloudinit , precisamente cc_ssh.pyall'interno/usr/lib/python2.7/dist-packages/cloudinit/config

Questo a sua volta dipende direttamente dal file /etc/cloud/cloud.cfg. Trovi una linea disable_root: true.

Dovresti essere in grado di sovrascriverlo regolando i tuoi dati utente e aggiungi riga disable_root: false. Il tuo provider cloud dovrebbe rendere configurabili i dati utente.


9
Ciò che fa cloud-init è aggiungere una riga nel /root/.ssh/authorized_keysmodulo 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. Quindi, anche se PermitRootLogin yesil comando ssh non riuscirà a ottenere una shell funzionante.
RubenLaguna,

5

Supponendo che la tua configurazione sshd abbia PermitRootLogin yes.

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

Tuttavia, il link fornito da Mike Scott è quello che consiglio vivamente di leggere attentamente e di tenere in considerazione.

ROOT SSH

Infine, se si desidera eludere lo standard di sicurezza di Ubuntu e tornare alla vecchia pratica di consentire ssh e rsync come root, questo comando lo aprirà per una nuova istanza delle immagini ufficiali di Ubuntu:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' Questo non è raccomandato, ma può essere un modo per far funzionare il codice di automazione EC2 esistente fino a quando non è possibile eseguire l'aggiornamento alle pratiche sudo descritte sopra.

Tengo gli accessi SSH root disabilitati perché qualsiasi server pubblico con SSH abilitato verrà continuamente picchiato giorno e notte dai tentativi di accesso root da bot criminali.

Altrove la documentazione avverte

L'abilitazione dell'account root è raramente necessaria. Quasi tutto ciò che devi fare come amministratore di un sistema Ubuntu può essere fatto tramite sudo o gksudo. Se hai davvero bisogno di un login root persistente, la migliore alternativa è simulare una shell di login root usando il seguente comando ...

sudo -i


1
Grazie. cat /root/.ssh/authorized_keys contiene un avviso per aprire l'eco anziché bash shell. Non riesco a immaginare perché non sono riuscito a trovarlo da solo. Grazie.
Maxim Veksler,


0

Controlla / etc / ssh / sshd_config, l'opzione si chiama "Permetti accesso root"

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

Una delle impostazioni più utili è "senza -password" che consente di accedere a root ma solo se si utilizza l'autenticazione con chiave pubblica. man sshd_config per maggiori informazioni :)


l'autenticazione solo certificato ssh è abilitata su tutte le istanze di linux EC2, questo è l'unico metodo di accesso remoto alla macchina. Ovviamente sono in grado di accedere al nodo altrimenti il ​​messaggio menzionato non verrebbe stampato. Nota anche: cat / etc / ssh / sshd_config | grep -i root PermitRootLogin yes
Maxim Veksler il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.