Add-user-with-public-key

Da WikiSitech.
Versione del 8 mag 2025 alle 09:35 di Mazzotti (discussione | contributi) (→‎Creazione della chiave (RSA))
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazioneVai alla ricerca

Tramite questa procedura è possibile aggiungere un utente ad un server linux con accesso tramite SSH e chiave pubblica.

Creazione della chiave (RSA)

Puoi fare riferimento alla pagina in cui viene descritta la procedura per crearla.

Creazione dell'utente

AWS Linux

Vedere l'articolo specifico.

UBUNTU

Cominciamo con la creazione dell'utente, operazione che va effettuata sulla macchina:

sudo useradd -m -g <group> -d /home/<username> -s /bin/bash <username>

...alla eliminazione della password per l'utente.

sudo passwd -d <username>

...ed alla aggiunta alla lista degli utenti che hanno accesso al comando sudo:

sudo usermod -aG sudo <username>

su sistemi Linux AWS vedere il seguente articolo:

sudo mkdir /home/<username>/.ssh

Possiamo a questo punto copiare il contenuto della chiave pubblica nel file 'authorized_keys.
In questo esempio apriamo il file con un editor e vi copiamo il contenuto, ma è possibile anche procedere con una copia del file tramite l'account dell'utente che già ha accesso alla macchina (scp)

sudo vi /home/<username>/.ssh/authorized_keys


Una volta copiato il contenuto è necessario sistemare i privilegi dei file appena toccati:

sudo chmod 700 /home/<username>/.ssh
sudo chmod 600 /home/<username>/.ssh/authorized_keys
sudo chown -R <username>:<group> /home/<username>/.ssh


Possiamo ora tentare un collegamento utilizzando il client ssh ma fornendo tutti i parametri necessari:

ssh -i <path-to-private-key> <username>@<servername>

Per semplificare questo processo, è possibile configurare SSH sul proprio client per riconoscere i parametri di connessione.
Questa operazione la si compie modificando il file ~/.ssh/config per aggiungere le seguenti righe:

Host <serveralias>
       Hostname <servername>
       User <username>
       PreferredAuthentications publickey
       IdentityFile ~/.ssh/<my-private-key>