Aujourd'hui, je suis tombé sur un simple script BASH appelé "Ubuntu-server-setup" qui vous aide à automatiser la configuration et le provisionnement du serveur Ubuntu après une nouvelle installation. Ce script effectuera les actions suivantes :
- Ajoute un nouveau compte utilisateur avec accès sudo
- Ajoute une clé SSH publique pour le nouveau compte utilisateur
- Désactive l'authentification par mot de passe sur le serveur
- Refuser la connexion root au serveur
- Configurer un pare-feu simple (UFW)
- Créer un fichier d'échange basé sur la mémoire installée de la machine
- Configurer le fuseau horaire du serveur (la valeur par défaut est "Asie/Singapour". Vous pouvez mentionner votre fuseau horaire)
- Installer le protocole de temps réseau
Dans ce bref tutoriel, nous allons voir comment exécuter ce script sur le serveur Ubuntu 16.04 LTS. Cela pourrait également fonctionner sur d'autres versions d'Ubuntu.
Télécharger - EBook gratuit :"Documentation Ubuntu :Guide du serveur Ubuntu 2014"
Ubuntu-server-setup - Script de post-installation du serveur Ubuntu
Avant d'utiliser ce script, vous devez créer une clé ssh publique sur votre système client. Vous en aurez besoin lors de l'exécution du script.
Pour créer une clé ssh publique, exécutez :
$ ssh-keygen -t rsa
Entrez la phrase de passe deux fois.
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]-----+
Pour afficher la clé publique SSH nouvellement créée, ouvrez une nouvelle fenêtre Terminal et exécutez :
$ cat ~/.ssh/id_rsa.pub
Copiez la clé publique ssh et conservez-la en lieu sûr. Vous devrez entrer cette clé plus tard.
Maintenant, connectez-vous à votre serveur Ubuntu. Installez 'git' en utilisant les commandes :
$ sudo apt-get update
$ sudo apt-get install git
Ensuite, récupérez le script Ubuntu-server-setup en utilisant la commande :
$ git clone https://github.com/jasonheecs/ubuntu-server-setup.git
La commande ci-dessus clonera la dernière version dans un dossier appelé "ubuntu-server-setup" dans votre répertoire de travail actuel.
Accédez au répertoire Ubuntu-server-setup et exécutez le script comme indiqué ci-dessous.
$ cd ubuntu-server-setup/
$ bash setup.sh
Maintenant, vous devrez répondre à une série de questions. Répondez au, en conséquence. Tout d'abord, saisissez le nouveau nom d'utilisateur :
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
Copiez/collez la clé ssh publique que nous avons créée à l'étape précédente.
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...
Saisissez votre fuseau horaire maintenant :
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
Veuillez noter que vous ne pouvez pas vous connecter en ssh au serveur Ubuntu avec d'autres utilisateurs, à l'exception de celui-ci (c'est-à-dire ostechnix dans notre cas) que vous venez de créer. Parce que ce script désactivera l'authentification ssh basée sur un mot de passe pour tous les utilisateurs, y compris root. De plus, vous ne pouvez vous connecter en ssh au serveur Ubuntu qu'à partir du système client sur lequel vous avez créé la clé ssh publique et l'avez partagée avec le système distant. Si vous souhaitez utiliser ssh depuis d'autres systèmes, la clé ssh publique doit être téléchargée manuellement sur un serveur distant auquel vous souhaitez pouvoir vous connecter avec SSH.
À partir de maintenant, il vous sera demandé d'entrer la phrase de passe que vous avez créée dans le système client chaque fois que vous essayez de vous connecter en ssh à votre serveur comme ci-dessous.
$ ssh [email protected]
Saisissez la phrase secrète de la clé :
Enter passphrase for key '/home/sk/.ssh/id_rsa':
C'est ça. Le script Ubuntu-server-setup vient de terminer les tâches de post-installation de base. Commencez à installer d'autres éléments que vous souhaitez exécuter sur le serveur.