Oggi mi sono imbattuto in un semplice script BASH chiamato "Ubuntu-server-setup" che ti aiuta ad automatizzare la configurazione e il provisioning del server Ubuntu dopo una nuova installazione. Questo script eseguirà le seguenti operazioni:
- Aggiunge un nuovo account utente con accesso sudo
- Aggiunge una chiave ssh pubblica per il nuovo account utente
- Disabilita l'autenticazione della password sul server
- Nega l'accesso come root al server
- Imposta un firewall semplice (UFW)
- Crea file di scambio in base alla memoria installata della macchina
- Imposta il fuso orario per il server (il valore predefinito è "Asia/Singapore". Puoi citare il tuo fuso orario)
- Installa Network Time Protocol
In questo breve tutorial, vedremo come eseguire questo script nel server Ubuntu 16.04 LTS. Questo potrebbe funzionare anche su altre versioni di Ubuntu.
Scarica - EBook gratuito:"Ubuntu Documentation:Ubuntu Server Guide 2014"
Ubuntu-server-setup - Script di post-installazione del server Ubuntu
Prima di utilizzare questo script, devi creare una chiave ssh pubblica sul tuo sistema client. Ne avrai bisogno durante l'esecuzione dello script.
Per creare una chiave ssh pubblica, esegui:
$ ssh-keygen -t rsa
Immettere la passphrase due volte.
Generating public/private rsa key pair. Enter file in which to save the key (/home/sk/.ssh/id_rsa): Created directory '/home/sk/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/sk/.ssh/id_rsa. Your public key has been saved in /home/sk/.ssh/id_rsa.pub. The key fingerprint is: SHA256:JFEf6UJEHVmuU/wO1zFUeXyE5oxhLCBfJOKB4yoX9mI [email protected] The key's randomart image is: +---[RSA 2048]----+ | .=+*+=*. ==| | o. *.+=++ +.+| | . .o.o..o+* oo| | o . o. .o..o.o| | . + S.o . o .| |. E . . + | | + . . | | | | | +----[SHA256]-----+
Per visualizzare la chiave pubblica SSH appena creata, apri una nuova finestra di Terminale ed esegui:
$ cat ~/.ssh/id_rsa.pub
Copia la chiave pubblica ssh e tienila al sicuro. Devi inserire questa chiave più tardi.
Ora, accedi al tuo server Ubuntu. Installa 'git' usando i comandi:
$ sudo apt-get update
$ sudo apt-get install git
Quindi, prendi lo script Ubuntu-server-setup usando il comando:
$ git clone https://github.com/jasonheecs/ubuntu-server-setup.git
Il comando precedente clonerà l'ultima versione in una cartella denominata "ubuntu-server-setup" nella directory di lavoro corrente.
Vai alla directory di configurazione del server Ubuntu ed esegui lo script come mostrato di seguito.
$ cd ubuntu-server-setup/
$ bash setup.sh
Ora, dovrai rispondere a una serie di domande. Rispondi, di conseguenza. Innanzitutto, inserisci il nuovo nome utente:
Enter the username of the new user account:ostechnix Enter new UNIX password: Retype new UNIX password: Adding user `ostechnix' ... Adding new group `ostechnix' (1001) ... Adding new user `ostechnix' (1001) with group `ostechnix' ... Creating home directory `/home/ostechnix' ... Copying files from `/etc/skel' ... Changing the user information for ostechnix Enter the new value, or press ENTER for the default Full Name []: Senthilkumar Room Number []: 123 Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
Copia/incolla la chiave ssh pubblica che abbiamo creato nel passaggio precedente.
Paste in the public SSH key for the new user: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDg2S1/s3ZB/O/KBVT6OP0JEQKPQ3QjTOaWhAjFN9CJrb2IVYGx0P8SA52d81tw0UJXByXkPpxvGwXYbWukV6bF/mdm8kj+e+BxEYlq2sXbFdwW+lW0GwTYMq2tIRQ1Iec6QFLGNSi0QjLcIhG/JTg5TrmK9KyECCHRFQfR7cDWRXo2tBtMkDxdJdH/D4BdmO//rvSFgY4QiqjwmkKqgpLrK5ZvvfgjKWtO0+1D+hfrm+cTNGByWHvOAj3j5HyXB6dzNaKswCQygzkvESzXI6eyMWYW3+QNz2PBHbof+HVHSd9av7aC8IO31aUMsyvrTcSB3wHk0NpmrDfqLRvOspNb [email protected] Running setup script...
Inserisci ora il tuo fuso orario:
Enter the timezone for the server (Default is 'Asia/Singapore'): Asia/Kolkata Timezone is set to Asia/Kolkata Installing Network Time Protocol... Setup Done! Log file is located at output.lo
Tieni presente che non puoi inviare ssh al server Ubuntu con nessun altro utente, tranne quello (cioè ostechnix nel nostro caso) che hai appena creato. Perché questo script disabiliterà l'autenticazione ssh basata su password per tutti gli utenti incluso root. Inoltre, puoi solo inviare ssh al server Ubuntu dal sistema client in cui hai creato la chiave ssh pubblica e l'hai condivisa con il sistema remoto. Se desideri eseguire ssh da altri sistemi, la chiave pubblica ssh dovrebbe essere caricata manualmente su un server remoto a cui desideri poter accedere con SSH.
D'ora in poi, ti verrà chiesto di inserire la passphrase che hai creato nel sistema client ogni volta che provi a inviare ssh al tuo server come di seguito.
$ ssh [email protected]
Immettere la passphrase per la chiave:
Enter passphrase for key '/home/sk/.ssh/id_rsa':
Questo è tutto. Lo script di configurazione del server Ubuntu ha appena completato le attività di base dopo l'installazione. Inizia a installare altre cose che desideri eseguire nel server.