Come faccio ad aggiungere nuovi account utente con accesso SSH alla mia istanza EC2 utilizzando cloud-init e dati utente?

3 minuti di lettura
0

Devo aggiungere un altro utente in grado di connettersi alla mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) tramite SSH. Come faccio a usare cloud-init e i dati utente per farlo?

Breve descrizione

Passa uno script di dati utente nel pacchetto cloud-init che esegue le seguenti operazioni:

1.    Crea un nuovo utente.

2.    Imposta la proprietà e le autorizzazioni dei file appropriate per la directory SSH e i file in essa contenuti.

3.    Aggiunge la chiave pubblica SSH al file authorized_keys.

Risoluzione

Prima di iniziare, tieni presente quanto segue:

  • L'arresto e il riavvio dell'istanza cancellano tutti i dati sui volumi dell'archivio dell'istanza. Assicurati di eseguire il backup di tutti i volumi di archivio dell'istanza che contengono i dati che desideri conservare. Per ulteriori informazioni, consulta la pagina Determinare il tipo di dispositivo root dell'AMI.
  • L'arresto e l'avvio dell'istanza modificano l'indirizzo IP pubblico dell'istanza. È consigliabile utilizzare un indirizzo IP elastico anziché un indirizzo IP pubblico quando si indirizza il traffico esterno verso l'istanza.

1.    Connettiti alla tua istanza EC2 tramite SSH.

2.    Esegui il comando seguente per confermare che cloud-init sia installato:

sudo yum list installed cloud-init

Se cloud-init non è installato, esegui il comando seguente per installarlo:

sudo yum install cloud-init

3.    Apri la console Amazon EC2 e seleziona l'istanza.

4.    Scegli Operazioni, seleziona Stato dell'istanza, quindi scegli Arresta.

Nota: se Arresta non è disponibile, significa che l'istanza è già stata interrotta o il suo dispositivo root è un volume di archivio dell'istanza.

5.    Recupera la chiave pubblica dalla coppia di chiavi.

Nota: per recuperare una chiave pubblica è necessario disporre di una coppia di chiavi o di una chiave privata. Per creare una coppia di chiavi, consulta la pagina Creazione di una coppia di chiavi utilizzando Amazon EC2. Per la sicurezza SSH, è consigliabile creare coppie di chiavi tramite la console EC2 o uno strumento di terze parti.

6.    Scegli Operazioni, seleziona Impostazioni dell'istanza, quindi scegli Visualizza/modifica i dati utente.

7.    Copia e incolla il seguente script di esempio nel campo Dati utente. In nome utente, inserisci il nome del nuovo utente. In ssh-rsa AB3nzExample, inserisci la tua chiave pubblica:

#cloud-config
cloud_final_modules:
- [users-groups,always]
users:
  - name: username
    groups: [ wheel ]
    sudo:     
      - "ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd"
      - "ALL=(ALL) NOPASSWD: /usr/bin/cp /home/username/webserver_configuration.conf /etc/httpd/conf.d/"
    shell: /bin/bash
    ssh-authorized-keys:
    - ssh-rsa AB3nzExample

Questo script di esempio consente al nuovo utente di eseguire solo le seguenti azioni root:

  • Copiare il file /home/username/webserver_configuration.conf in /etc/httpd/conf.d/
  • Riavviare il servizio del server web

Per concedere all'utente l'accesso completo a EC2, sostituisci il campo sudo con sudo: [ "ALL=(ALL) NOPASSWD:ALL" ].

Nota: per impostazione predefinita, le direttive cloud-init vengono eseguite solo all'avvio di un'istanza. Tuttavia, quando si utilizza questo script di dati utente, cloud-init aggiunge la chiave pubblica all'istanza ogni volta che l'istanza si riavvia o viene nuovamente avviata. Se si rimuove lo script dei dati utente, verrà ripristinata la funzionalità predefinita.

8.    Scegli Salva.

9.    Scegli Operazioni, seleziona Stato dell'istanza, quindi scegli Avvia.

10.    Quando l'istanza raggiunge lo stato in esecuzione, accedi come nuovo utente. Il nuovo utente ha lo stesso comportamento predefinito di ec2-user.

Nota: la modifica dei dati utente di un'istanza utilizza l'azione API ModifyInstanceAttribute. Puoi creare una policy AWS Identity and Access Management (IAM) per limitare questa azione.


Informazioni correlate

Visualizzazione della coppia di chiavi

In che modo è possibile aggiungere nuovi account utente con accesso SSH all'istanza Amazon EC2 per Linux?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa