Add-user-with-public-key

Da WikiSitech.
Vai alla navigazioneVai alla ricerca

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

Creazione dell'utente

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>
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>