> Tous les forums > Forum Linux
 Installer un serveur VPS sous Rocky LinuxSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
griggione
  Posté le 27/08/2021 @ 07:35 
Aller en bas de la page 
Grand Maître astucien

Bonjour tous,

Comme vous le savez certainement, dans la longue lignée des codes Linux, Gregory Kurtzer, fondateur du projet CentOS a lancé le développement intensif avec la communauté pour finir de pondre un clone : Rocky Linux

https://rockylinux.org/fr/

Installer un serveur VPS sous rocky

C'est une installation de base pour avoir un VPS classique et sécurisé, pour plus de connaissances, voir :

https://forum.pcastuces.com/linux-f8

https://forums.rockylinux.org/

----------

Un tutoriel de migration de Centos vers RockyLinux (merci enigma7) :

https://www.howtoforge.com/how-to-migrate-from-centos-8-to-rockylinux-8/

----------

ATTENTION à ce qui suis, ce sera corrigé au fur et à mesure sous le contrôle et l'oeil aiguisé (la langue aussi ?) de zoulouman.
Attendez avant d'appliquer que le grand chef avalise et dise oui, le numéro concerné considéré comme bon, commencera alors par

-----------------------------------------------

Et merci à PCAstuces pour son hébergement



Modifié par griggione le 17/11/2021 07:22
Publicité
griggione
 Posté le 27/08/2021 à 07:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

1- La connection :

1a- Se servir d'un SSH, ici Pageant (Putty)

Mettre directement le nom de domaine, toujours mieux que l'IP, dans le cas ou ce domaine est déjà réservé et que les redirections du DNS soient faites.

Une fois sur la fenêtre ssh (attention, le mot de passe ne s'affiche pas) :

root (entrer)
password (entrer) 

Pour vous éviter d'entrer systématiquement root à l'ouverture :

N'oubliez pas de revenir sous Session et Save

Copy

-------------

1b - Se servir d'un client SFTP (ici FileZilla)

Ne pas oublier à la création de bien sélectionner :

Protocole : SFTP - SSH File Transfer Protocol

Hôte : ledomaine (votre nom de domaine) .

Port : 22 (ou si vous avez changé, le nouveau)

Si vous changez l'accés par mot de passe et utilisez les clés, vous devez modifier pour indiquer votre clé privé :



Modifié par griggione le 23/11/2021 19:50
griggione
 Posté le 27/08/2021 à 07:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

2- Mettre le fuseau horaire à l'heure

Mettre le système à jour :

timedatectl set-timezone Europe/Paris

Vous pouvez vérifier :

date

.

Copy

Trouvez votre fuseau horaire. Cela peut être fait par :

cd /usr/share/zoneinfo
Copy

Le fuseau horaire se trouve dans le fichier /etc/opt/remi/php74/php.ini

Trouvez alors cette ligne, vous devez avoir : date.timezone = "Europe/Paris"

Vous pouvez savoir à quoi cela correspond en procédant comme suit :

ls -al /etc/localtime


Modifié par griggione le 23/11/2021 18:44
griggione
 Posté le 27/08/2021 à 07:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

3- Commencer par désactiver SELinux

SELinux (Security Enhanced Linux) est un mécanisme de sécurité développé pour Linux par la NSA (National Security Agency) et utilisé principalement sur les systèmes Red Hat, CentOS et Fedora.

Copy

Editer le fichier /etc/selinux/config, remplacer

SELINUX=enforcing
Copy

par :

SELINUX=disabled
Copy

Sauvegarde et redémarrage de la machine et vérifier que c'est bien désactivé :

reboot
Copy

une fois le reboot fait :

 sestatus
Copy

Vous devez avoir :

[root@leserveur ~]# sestat
SELinux status:                 disabled
Copy



Modifié par griggione le 23/11/2021 16:14
griggione
 Posté le 27/08/2021 à 07:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

4- Garder les sessions SSH ouvertes plus longtemps

.Pour cela, nous devons installer "nano"

yum install nano
Copy

Vous pouvez aussi passer par SFTP (filezilla) :

ClientAliveInterval indique que le serveur va envoyer un “null packet” au client toutes les 10 secondes pour empêcher la déconnexion.

Editer le fichier /etc/ssh/ssh_config :

.

Vous modifier ou rajouter : ClientAliveInterval 300 et ClientAliveCountMax 3 (sans oublier d'enlever le #)

Editer le fichier /etc/ssh/sshd_config :



Modifié par griggione le 23/11/2021 18:49
griggione
 Posté le 27/08/2021 à 07:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

zoulouman estime qu'avec l'installation de Fail2ban, c'est inutile (c'est vous qui voyez).

5- Changer le port d'écoute ssh (tous les ports non utilisés de 1024 à 65535)

Le changement de port sur sshd_config dit au programme sur quel port il doit écouter.Et celui du firewall autorise cet écoute sur le port indiqué dans ssh.Il faut le faire dans l'ordre:- ouvrir 2 console ssh l'une pour opération, l'autre on laisse ouvert en cas d'erreur de configuration pour pouvoir revenir.vérifier avant que firewall est bien actif :

firewall-cmd --state

- ouvrir le port sur le firewall

firewall-cmd --zone=public --add-port=12345/tcp --permanent

- Nous devons relancer le firewall

systemctl reload firewalld

- changer le port du service, ici avec Filezilla sous SFTP, le Port 22 en Port "12345" ... (prendre un Port non existant bien sûr), bien enlevé le # (dièse) devant le port :

/etc/ssh/ssh_config

et

/etc/ssh/sshd_config :

- relancer le service ssh.

systemctl restart sshd
Copy

Maintenant, se reconnecter sous le nouveau port (12345).

Si ça fonctionne, nous pouvons maintenant fermer port 22 :

firewall-cmd --zone=public --permanent --remove-port 22/tcp
Copy

Vous devez avoir, si le port à déjà été fermé :

- relancer le firewall

systemctl restart firewalld

cela déconnecte l'utilisateur s'il y a eu un changement de port d'un nombre à un autre.Il faut donc s'y reconnecter sur le nouveau port.

ATTENTION, il faut un peu de temps avant la prise en compte.



Modifié par griggione le 23/11/2021 16:27
griggione
 Posté le 27/08/2021 à 07:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

6- Mise en place des clés privées/publiques

D'abord, vérifier qu'il n'y est pas de dossier .ssh dans root, sinon s'en débarrasser :

rm -rf /root/.ssh
Copy

Ensuite, il faut créer le dossier qui récupère les clés :

mkdir /root/.ssh
Copy

On entre dans le dossier :

cd /root/.ssh
Copy

On crée les fichiers :

touch authorized_keys
touch id_rsa.pub
Copy

zoulouman tient à préciser :

On n'utilisera pas les outils fournis par OpenSSH (ssh-keygen).

Je m'explique : ssh-keygen génère des clés SSH1. Ce sont des clés obsolètes.

Nous ne les utiliseront donc pas même si le web en parle de partout. La plupart des tutos du web sont obsolètes aussi.

On utilisera Puttygen qui génère des clés SSH2.

Ici on utilise Putty.

Soit la touche Windows + R, soit Démarrer > Exécuter, soit Toutes les applications > Windows système > exécuter :

Vous entrez : puttygen et OK

Nous allons générer les clés privée/publique (nous remarquerons que ces clés de type RSA sont en 2048 Bits) :

Si on remue la souris, cela accélère la création, mais est-ce si important de se dépêcher pour un acte si sérieux ?

Nous allons sauvegarder la clé privée qui servira à nous connecter.

ATTENTION : Cette clé ne doit jamais être communiquée, elle doit être mise dans un endroit sûr (donc pas sous C:\) et si possible copiée dans un autre disque/clé usb/dvd :

Une alerte bien logique s'impose (Êtes-vous sûr de vouloir enregistrer cette clé sans mot de passe pour la protéger ?) :

Nous confirmons et enregistrons :

Nous allons récupérer les fichiers qui contiennent la clé publique.

Ici on utilise Filezilla (attention, en SFTP) pour récupérer authorized_keys et id_rsa_pub, le chemin est /root/.ssh/ :

Nous allons sauvegarder la clé publique.

Pour information : la clé publique doit commencer par "ssh-rsa" et fini souvent par "rsa-key-20211002", donc la date ou la signature.Vous pouvez modifier la signature pour une meilleure gestion des clés, par exemple, j'aurais pu mettre "griggione" à la place de "rsa-key-20211002".

ATTENTION : Ne changez JAMAIS directement dans la clé mais en se servant du champ prévu à cet effet "Key comment".

ATTENTION : ne vous servez surtout pas du bouton, sinon, vous aurez une clé SSH1 et prenez bien tout le texte :

Les conseils de zoulouman :

ATTENTION : quand vous copiez la clé dans les fichiers, pensez à laisser une ligne vierge sous la clé.Ça servira à ajouter une clé au cas où.

ATTENTION : que les sauts de lignes de votre éditeur de texte, soient UNIX ! Pas Windows ou Mac !

........

Ensuite, vous remettez les fichiers authorized_keys et id_rsa_pub, le chemin étant /root/.ssh/.

Nous allons indiquer le chemin de la clé privée pour la connexion sous root.

Ici on utilise Pageant, ouvrir la configuration de Putty :

On sélectionne son compte pour le modifier :

Ensuite, on va sur Connection > SSH > Auth et on montre le chemin vers la clé privée :

Et pour finir, on revient sur Session et on sauvegarde le tout :

Ne reste plus qu'à vérifier, on ouvre son SSH, on entre root et on doit avoir :

login as: root
Authenticating with public key "rsa-key-20211002"
Last login: Fri Oct  1 09:51:17 2021 from 85.171.104.203
[root@vmxxx ~]#
Copy

Une fois en place, et SEULEMENT une fois la clé en place, on peut désactiver la demande du mot de passe.

Pour cela, il faut modifier le fichier /etc/ssh/sshd_config, pour cela 2 façons.

Par ssh, modifier le yes en no mais SURTOUT, ne pas oublier d'enlever le # :

Par éditeur de texte, ici Filezilla (attention en SFTP) :

Ouvrez le fichier et modifier le yes en no mais SURTOUT, ne pas oublier d'enlever le # :

Et bien sur, il faut relancer Apache (HTTPD) :

systemctl reload sshd



Modifié par griggione le 26/11/2021 06:55
griggione
 Posté le 27/08/2021 à 07:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

7- Installer Fail2ban contre les intrusions (bannir les intrus) :

Fail2ban bannit pendant une heure les adresses IP qui on échoué à une tentative de connexion 3 fois de suite, le serveur ne répond plus à cette IP.Comme si le serveur n'existait plus pour cette IP. On parle là de "DROP IPTABLES" (IPTABLES fait partie du firewall).

S'il n'est pas installé :

dnf install epel-release -y
Copy

Et dans la foulée, vérifions la toute dernière version d'epel :

dnf update -y
Copy

.

La meilleure façon d'utiliser fail2ban est la suivante.

Lancer l'installation :

dnf install fail2ban -y

On va dans le dossier fail2ban :

cd /etc/fail2ban

On relance le tout :

systemctl daemon-reload

.

On crée/copie jail.conf dans jail.local :

cp jail.conf jail.local

On s'assure qu'il existe :

ls

On active le système au départ :

systemctl enable fail2ban

On démarre fail2ban :

systemctl start fail2ban

On regarde les statuts pour voir si c'est bon :

systemctl status fail2ban

Le service est donc chargé et fonctionne correctement. Je vérifie ensuite que jail.local existe :

ls -lha

On peut vérifier par SFTP :

.

IMPORTANT :

tout changement que nous voulons utiliser, nous le faisons dans jail.local

Il est recommandé de ne pas éditer jail.conf

Les changements dans jail.local remplaceront jail.conf



Modifié par griggione le 26/11/2021 09:38
griggione
 Posté le 27/08/2021 à 07:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

8- Installer Apache (logiciel de serveur web).

8a- Ouvrir les ports.

Le 80, c'est pour les connexions http non sécurisées.

Le 443, c'est pour les connexions https sécurisées.

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
Copy

On relance le firewall :

systemctl reload firewalld
Copy

.

8b- Installer Apache (le paquet est httpd)

MariaDB, PHP, et les modules PHP permettant la connexion à la base de données :

dnf install httpd -y
Copy

Activation apache :

systemctl enable httpd
Copy

Démarrage apache :

systemctl start httpd
Copy

Vérifier si apache est démarré sans erreur :

systemctl status httpd
Copy

.

Tester le site pour http

http://ledomaine.xxx

Vous devez avoir :



Modifié par griggione le 21/11/2021 07:49
griggione
 Posté le 27/08/2021 à 07:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

9- Gestion automatique de certificat (Let's Encrypt) :

Nous devons de suite, installer mod_ssl qui permet d'effectuer un chiffrement fort :

yum install mod_ssl -y

Normalement natif dans Rocky 8.4, Curl , Wget et Tar. On peux vérifier :

yum install curl wget tar -y

Nous allons installer acme.sh pour générer et installer un certificat SSL:

cd /root
curl https://get.acme.sh | sh

acme.sh semble avoir changé et exige maintenant une adresse mail. Le souci est que acme.sh a remplacé LetsEncrypt par ZeroSSL.
Pour éviter la mise en place d'un serveur mail, toujours délicat en sécurité, nous allons régler le problème du certificat sans fournir de mail :

/root/.acme.sh/acme.sh --set-default-ca --server letsencrypt

Il faut obtenir un certificat de sécurité et rendre le site accessible en HTTPS :

/root/.acme.sh/acme.sh

Créer le dossier qui contiendra les signatures générées par acme.sh sur ordre de Let's Encrypt pour vérifier qu'on est bien le propriétaire du domaine :

Vous devez vous mettre dans le bon dossier, html :

cd /var/www/html

On crée le premier dossier :

mkdir .well-known

Vous devez vous mettre dans le bon dossier, .well-known :

cd /var/www/html/.well-known

On crée le deuxième dossier :

mkdir acme-challenge

Demander le certificat :

/root/.acme.sh/acme.sh --issue -d ledomaine -d www.ledomaine -w /var/www/html

- Le certificat sera installé dans le dossier caché /root/.acme.sh/ledomaine
- Une copie sera faite dans /var/ssl/ledomaine afin qu'on puisse détecter les renouvellements automatiques et recharger Apache lors de chaque renouvellement (tous les 3 mois).

Avant de copier, nous devons créer le dossier /var/ssl/ qui sera le dossier de travail de Apache.

Ne toucher pas le dossier /root/.acme.sh/*****, c'est le dossier de travail de acme.sh (sinon panpan culcul de zoulouman).

mkdir /var/ssl/

Copier le tout dans un dossier où on pourra l'utiliser avec Apache sans gêner acme.sh :

cp -r /root/.acme.sh/ledomaine/* /var/ssl/

.

Avant de créer la tache cron, nous devons créer un fichier bash, renew_cert.sh, qui se chargera de vérifier que le certificat a été renouvellé et relancera Apache (httpd), que nous plaçons dans root (ce fichier est offert et recommandé par notre zoulouman national ) :

#!/bin/bash

if [ /root/.acme.sh/ledomaine/ledomaine.cer -nt /var/ssl/ledomaine.cer ]
then
echo "Certificat SSL auto renouvelé."
cp -f /root/.acme.sh/ledomaine/ledomaine.cer /var/ssl/ledomaine.cer
cp -f /root/.acme.sh/ledomaine/ledomaine.cer /var/ssl/ledomaine.crt
cp -f /root/.acme.sh/ledomaine/ca.cer /var/ssl/ca.cer
cp -f /root/.acme.sh/ledomaine/ledomaine.key /var/ssl/ledomaine.key
chown -R root:root /var/ssl/
systemctl reload httpd
exit
fi

.

- créer une tache cron (une tâche planifiée) qui gérera le certificat

- Cette ligne fait exécuter le fichier /var/ssl/renew-cert.sh tous les jours à 1h30 avec les permissions root


- Editer le fichier /etc/crontab et ajouter cette ligne en fin de fichier (sur une nouvelle ligne) :

30 1 * * * root /root/renew-cert.sh &> /dev/null

Ce qui donne :

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

30 1 * * * root /var/ssl/renew-cert.sh &> /dev/null

.

Créer ou modifier le VHOST dans /etc/httpd/conf.d/ssl.conf

Si vous n'avez qu'un domaine, vous pouvez garder le nom, ssl.conf :

Si vous pensez avoir plusieurs domaines, vous devez pour chaque, nommé les fichiers, ledomaine1.com.conf, ledomaine2.com.conf, etc (n'oubliez surtout pas de changer "ledomaine" par VOTRE domaine actif) :

Le fichier est fait pour le port 80, Toutefois, zoulouman pense qu'il faut penser aussi au port 443 et quelques broutilles, il nous a donc gentiment proposé son VHOST

<VirtualHost *:80>
ServerName ledomaine
ServerAdmin webmaster@ledomaine

Redirect permanent / https://ledomaine/

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
Options +FollowSymLinks -Indexes
AllowOverride all
Require all granted
</Directory>

ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
</VirtualHost>

<VirtualHost *:443>
ServerName ledomaine
ServerAlias www.ledomaine
ServerAdmin webmaster@ledomaine

DocumentRoot "/var/www/html"

<directory "/var/www/html">
Options -Indexes
AllowOverride all
Require all granted
</directory>

SSLEngine on

SSLCertificateFile "/var/ssl/ledomaine.cer"
SSLCertificateKeyFile "/var/ssl/ledomaine.key"
SSLCACertificateFile "/var/ssl/ca.cer"

ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
</VirtualHost>

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.3 +TLSv1.2

# TLSv1.3
SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

# TLSv1.2
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305

ProtocolsHonorOrder on
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets on
SSLInsecureRenegotiation off


#Protocols h2 h2c http/1.1
#Protocols h2 h2c
Protocols h2 http/1.1
#Protocols h2

Nous devons nous assurer que le port 443 est écouté :

firewall-cmd --zone=public --add-port=443/tcp --permanent

Nous vérifions et s'il le faut nous le rajoutons dans le fichier /etc/httpd/conf/httpf.conf :

Et bien sur, on relance firewalld :

systemctl reload firewalld

Une dernière vérification avant de tenter la suite :

httpd -t

Relancer le tout :

systemctl restart httpd

--------------------------------------------------------

Roulement de tambour ............ et maintenant, si on faisait les tests ! Ces tests se font via un navigateur.

-------------------------------------------------------

On peux accéder à cette page en demandant le fichier .noindex.html , https://ledomaine/.noindex.html (n'oubliez pas le "s" , httpS), donc mettre un index.html ou index.php dans /var/www/html et c'est tout.
Si pas de cms ou autre OS, comme c'est notre cas, on ne met rien (faut attendre un petit peu)

Tester le site pour https

https://ledomaine.xxx

Vous devez avoir :

Tester le certificat :

https://crt.sh/

Vous devez avoir :

Tester le SSL :

https://www.ssllabs.com/ssltest/

Vous devez avoir :

J'ai demandé à zoulouman, notre expert (et contrôleur du tuto ) quelques explications pour ces résultats.

Pour ce qui est de la notation de ssllabs.com, c'est très simple.
Il est possible d'avoir 100 partout, mais c'est au détriment des personnes pouvant visiter ton site.
J'ai conseillé les chiffrages les plus solides pour la config de ces VPS, ils ont donc 100 et c'est tout à fait normal (AES256 et CHACHA20). Les navigateurs modernes ne poseront pas de souci avec les chiffrages proposés par le serveur.

Et ça reste un chiffrage fort !

Pour l'échange de clés, c'est pareil, ça dépend de l'algorithme de chiffrage utilisé. Il faut faire un compromis entre possibilité de connexion et âge de l'appareil utilisé (ça concerne surtout les smartphones).
Ce compromis coûte 10 points.

J'utilise HSTS (High Strict Transport Security - Sécurité de transport très stricte).
C'est une méthode qui demande aux navigateurs d'enregistrer le fait que le site est en HTTPS. Du coup, il n'y aura plus jamais de redirection de HTTP vers HTTPS, le navigateur passera en HTTPS seul et sans demander l'avis de personne.
Dans l'immédiat, je déconseille HSTS. On en reparlera quand tu seras à l'aise avec le SSL. Sinon, si demain tu décides de revenir sur le HTTP, les navigateurs des personnes qui sont déjà passées sur le site le feront en HTTPS et le site leur sera inaccessible...

Viser le 100 de partout chez ssllabs.com est possible mais je le déconseille ! C'est trop restrictif et ça risque de laisser à la rue certains visiteurs potentiels
Le 100 de partout est une valeur que j'ai pour mon serveur local, à la maison, parce-que personne n'a rien à faire sur ce serveur à part quelques personnes autorisées...



Modifié par griggione le 26/11/2021 09:41
griggione
 Posté le 27/08/2021 à 07:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

10a- installer Mariadb

Il faut installer Mariadb :

dnf install mariadb-server -y
Copy

Activation mariadb :

systemctl enable mariadb
Copy

Démarrage mariadb :

systemctl start mariadb
Copy

Vérifier si mariadb est démarré sans erreur :

systemctl status mariadb
Copy

Enabled signifie que le service est activé. Il se lancera au démarrage du serveur.
Active (running) signifie que le service est actuellement lancé.

-------------------------------------------------

10b- MySql (root, utilisateur)

Gérer un compte utilisateur MySql

Créer un nouveau compte d’utilisateur dans MySQL :

mysql -u root -p
Copy

Remplacer "utilisateur" par le nom utilisateur que vous avez choisi et "123456" par votre mot de passe et sans les "" :

CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY '123456';

Création de la BDD "basededonnees" :

CREATE DATABASE basededonnee;
Copy

Accorder à l’utilisateur récemment créé tous les privilèges :

GRANT ALL PRIVILEGES ON basededonnee.* TO 'utiisateur'@'localhost'  WITH GRANT OPTION;
Copy

En ROOT uniquement, pour que les changements prennent effet, il faut immédiatement supprimer ces privilèges :

FLUSH PRIVILEGES;
Copy

-----------------------------------------------

Entrer dans un compte utilisateur déjà créé

mysql -u utilisareur -p

Enter password:

-------------------------------------------------

Détruire un utilisateur (ATTENTION de bien choisir l'utilisateur !) :

drop user 'utilisateur'@'localhost';

------------------------------------------------------

Pour changer le mot de passe utilisateur quand on est connecté à MySql :

mysql -u utilisateur -p

SET PASSWORD FOR 'utilisateur'@'localhost' = PASSWORD('123456');
exit
Copy

------------------------------------------

Gérer le compte root MySql

Entrer sous mysql en root :

mysql -u root -p
Copy

Créer un mot de passe, vous gardez "root" et remplacer "123456" par votre mot de passe et sans les "" :

ALTER USER 'root'@'localhost' identified by '123456';
Copy

Vous sortez :

exit
Copy

-----------------------------------------------------------

Pour se connecter à MySQL en root avec mot de passe :

mysql -u root -p
enter password: 123456
Copy

-----------------------------------------------------

Pour changer le mot de passe root quand on est connecté à MySql :

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
exit
Copy

-------------------------------------------------

Afficher les privilèges des comptes MySQL :

Si vous voulez afficher le compte root, remplacer utilisateur ou user par root, tout simplement.

mysql -u utilisateur -p
mot de passe : 123456
Copy
SELECT host, user, password FROM mysql.user;
Copy

Vous devez avoir :

-----------------------------------------

IMPORTANT : Pour fermer le port mysql !!!recommandé!!! :

firewall-cmd --permanent --zone=public --remove-service=mysql
Copy

Ensuite :

firewall-cmd --reload
Copy

Si et seulement SI vous devez accéder à MariaDB depuis une autre machine on autorise dans le pare-feu le protocole mysql (port 3306) (sinon papa zoulouman ) :

 firewall-cmd --permanent --zone=public --add-service=mysql
 firewall-cmd --reload
Copy



Modifié par griggione le 30/10/2022 05:34
griggione
 Posté le 27/08/2021 à 08:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

11- Gérer une base de données :

Afficher la liste des bases de données :

mysql -u root -p
Copy
show databases;
Copy

Vous devez avoir :

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| basededonnees       |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.002 sec)
Copy

--------------------------------------

Sélectionner une base de données :

mysql -u root -p
Copy
use basededonnees;
Copy

------------------------------------

Supprimer une base de données :

mysql -u root -p
Copy
drop database basededonnees;
Copy



Modifié par griggione le 13/01/2022 08:59
Slyvester
 Posté le 27/08/2021 à 12:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour Griggione,

J'avoue que l'intérêt de toute l'opération m'échappe. Je m'explique : je ne connaissais pas la distribution Rocky Linux avant de lire ton post. Je suis perplexe lorsque je lis ceci sur le site de Rocky Linux : https://rockylinux.org/fr/

Quel est l'intérêt de Rocky Linux ?
Rocky Linux vise à fonctionner comme une construction en aval comme CentOS l'avait fait auparavant, en construisant des versions après qu'elles aient été ajoutées par le fournisseur en amont, et non avant.

Cela signifie, à moins que je n'ai rien compris, que Rocky Linux se base sur CentOS, mais après modifications/mises à jour propres à celle-ci ? Dans ce cas, pourquoi ne pas utiliser directement CentOS ?
Peut-on, dans ces conditions, appliquer ton tuto à la version originale CentOS (27 ème dans DistroWatch) plutôt qu'à Rocky Linux (40 ème dans DistroWatch) ? : https://distrowatch.com/index.php?distribution=rocky&release=all&month=all&year=all

griggione
 Posté le 27/08/2021 à 13:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour Slyvester,

Rocky Linux est le clone de CentOS, qui est abandonné fin 2021, mais tu vas mieux comprendre :

https://www.toolinux.com/?alternative-a-centos-ce-qu-il-faut-savoir-sur-rocky-linux

https://fr.wikipedia.org/wiki/Rocky_Linux

https://linux.developpez.com/actu/311374/Le-fondateur-de-CentOS-lance-le-projet-Rocky-Linux-le-remplacant-de-la-distribution-CentOS-Linux-qui-sera-abandonnee-par-Red-Hat-fin-2021-mais-le-projet-pourrait-ne-pas-etre-facile-a-realiser/

EDIT/

enigma7 a écrit :

Qu'ils ailles se faire voir avec leur RedHat payant , il avaient annoncé 2029 pour la fin de CentOS8 ....



Modifié par griggione le 27/08/2021 13:31
enigma7
 Posté le 27/08/2021 à 13:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

L'arrêt de CentOs 8 en fin d'année avait déjà été évoquée ici .

Les remplaçant étant :

Rocky Linux (la dernière née cette année)

AlmaLinux (l'avant dernière née cette année)

Oracle Linux qui existe déjà depuis quelques temps.

Je n'ai pas encore fait mon choix, perso j'attends la fin de l'année pour basculer ma tour serveur, des scripts de conversion existants pour basculer CentOs vers n'importe quelle des 3 candidates.

Beau travail griggione , tous tes posts ne sont pas encore remplis ?

griggione
 Posté le 27/08/2021 à 13:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour enigma7,

enigma7 a écrit :

Beau travail griggione


Merci.

enigma7 a écrit :

tous tes posts ne sont pas encore remplis ?


J'ai aussi du travail à coté.

Slyvester
 Posté le 27/08/2021 à 17:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Re,

Rocky Linux est le clone de CentOS, qui est abandonné fin 2021, mais tu vas mieux comprendre :

https://www.toolinux.com/?alternative-a-centos-ce-qu-il-faut-savoir-sur-rocky-linux

Merci pour ce rappel, Griggione ! La question se pose maintenant : sur quoi Rocky Linux va-t-elle se baser lorsque CentOS aura disparu. Personnellement, je préfère les versions d'origine aux dérivées, exception faite pour SparkyLinux. Il suffit de jeter un oeil sur leur forum (pas très fourni) pour comprendre : https://forum.sparkylinux.org/index.php

m_n
 Posté le 27/08/2021 à 18:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

CentOS est basé sur Fedora Red Hat

Fedora est basé sur Independent

OpenSuse est basé sur Independent

Arch est basé sur Independent

Debian est basé sur Independent

Gentoo est basé sur Independent

FreeBSD est basé sur Independent

Slackware est basé sur Independent



Modifié par m_n le 27/08/2021 19:00
enigma7
 Posté le 27/08/2021 à 20:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

m_n a écrit :

CentOS et dérivées (RockyLinux etc) sont basés sur Fedora Red Hat

Même code et releases que Redhat, elle sortent environs quelque semaines après que les versions de Redhat sortent.

Centos est une version stable avec un support de 10 ans, contrairement à Fedora de la même famille qui a un support de 6 mois pour chaque release.

Un tutoriel de migration de Centos vers RockyLinux :

https://www.howtoforge.com/how-to-migrate-from-centos-8-to-rockylinux-8/



Modifié par enigma7 le 28/08/2021 09:50
griggione
 Posté le 28/08/2021 à 14:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

RE

enigma7 a écrit :

Un tutoriel de migration de Centos vers RockyLinux :

https://www.howtoforge.com/how-to-migrate-from-centos-8-to-rockylinux-8/

Bien joué enigma7 , je vais le mettre dans le premier post

griggione
 Posté le 31/08/2021 à 15:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour tous,

Juste pour remercier Clement du coup de pouce en mettant à dispo l'écriture de code pour le forum Linux

J'ai plus d'excuse pour glander

griggione
 Posté le 18/11/2021 à 17:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour tous,

Le tuto est fini mais si vous avez des rectifications à apporter ou des suppléments que vous jugez interessants, nous sommes preneur

enigma7
 Posté le 18/11/2021 à 17:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Mon serveur n'as rien de VPS, mais saches que j'ai finalement converti mon CentOs en fin de support en Redhat vu que c'est gratuit maintenant pour une utilisation personnelle ou avec un nombre limité de serveurs. Faut juste se réinscrire tous les ans.

https://developers.redhat.com/products/rhel/download

griggione
 Posté le 18/11/2021 à 17:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonsoir enigma7,

Redhat n'a pas réussi son hod-hup Ils se rabattent sur du gratuit.

En plus, ils sont en faute sur leur site. Il est obligatoire, dans le fenêtre du RGPD, de laisser la possibilité de refuser les cookies et Cie.

R136a1
 Posté le 18/11/2021 à 22:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
griggione a écrit :

zoulouman tient à préciser :

On n'utilisera pas les outils fournis par OpenSSH (ssh-keygen).

Je m'explique : ssh-keygen génère des clés SSH1. Ce sont des clés obsolètes.

Nous ne les utiliseront donc pas même si le web en parle de partout. La plupart des tutos du web sont obsolètes aussi.

On utilisera Puttygen qui génère des clés SSH2.

Salut

Je comprends pas cet avertissement.

ssh-keygen génère des clés qui sont compatibles avec les protocoles 1 et 2 utilisés par OpenSSH (terminé pour SSH1, voir le PS2 en fin de message). Vu que par défaut c'est le protocole 2 qui est paramétré sur tout bon serveur SSH sécurisé (la version 1 a des failles sécurité), si ssh-keygen générait que des clés compatibles avec le protocole 1, aucun de nous ne pourrait se connecter à son serveur SSH avec des clés générées sous Linux.

En fait, si on doit comparer les deux générateurs, la différence entre ssh-keygen et puttygen est une différence de formatage des clés générées, pas une différence de niveau de sécurité comme ta citation le suggère.

ssh-keygen est un des utilitaires qui vient avec OpenSSH, le pendant libre de SSH2. Donc quand tu génères des clés avec ssh-keygen, tu ne génères pas des clés SSH1 mais des clés OpenSSH dont le niveau de sécurité est directement lié à l’algorithme de cryptographie utilisé (RSA, DSA, ECDSA ou Ed25519) et à la taille en bits de la clé.

Puttygen génère lui des clés ppk qu'il peut convertir au format SSH2. Or .ssh/authorized_keys utilise par défaut des clés au format OpenSSH (qui fournit les mêmes fonctionnalités que SSH2 mais en open source). Mais ce n'est que le format de la clé qui varie, pas le protocole utilisé sur le serveur. C'est pour ça qu'il faut convertir les clés générées par puttygen pour les utiliser avec un serveur OpenSSH. Et d'ailleurs on peut faire ça à la main, parce que ces fichiers clés sont de simples fichiers textes (ouvre dans un éditeur de texte deux clés RSA générées par ssh-keygen et puttygen, tu vas comprendre que ce n'est qu'un problème de formatage). Bon, quand t'en as une flopée qui sont générées par puttygen et envoyées au format SSH2, tu vas pas les convertir à la mano pour les utiliser avec OpenSSH. Tu vas faire tourner ssh-keygen qui sait les convertir en masse. Je n'ai pas la commande en tête mais tu la trouves facilement sur le net (voir PS3 en fin de post). Ça n'a rien à voir avec un générateur obsolète par rapport à l'autre. ssh-keygen va directement générer des clés compatibles OpenSSH, puttygen non, parce qu'il ne sait pas (c'est délibéré bien sûr) générer des clés au format OpenSSH, c'est tout.

Le truc qu'on peut faire, même si ce n'est plus nécessaire maintenant, c'est de vérifier dans /etc/ssh/sshd_config que le protocole utilisé est le protocole 2. Ce qui est le cas par défaut sur toute distro à jour qui date pas du déluge. Parfois, sur les versions antérieures à OpenSSH 7.6, les protocoles 1 et 2 sont simultanément acceptés, il est fortement recommandé de changer pour le 2 uniquement.

Après, il se peut que je me trompe. Alors je veux bien un lien ou deux qui expliquent clairement en quoi le binaire ssh-keygen est obsolète, parce que ça remet en question la sécurité de mes serveurs et d'un bon gros paquets de serveurs tournant sous Linux dans les boites, les administrations et les universités. Et accessoirement, faudra prévenir des distributions aussi sérieuses que Red Hat, Debian, Arch ou Ubuntu, pour leur dire que le générateur de clés SSH qui est fourni par OpenSSH est obsolète et qu'elles doivent corriger leurs documentations officielles qui décrivent toutes l'utilisation de ssh-keygen... Faut aussi au passage en toucher un mot aux développeurs d'OpenSSH qui se feront un plaisir de remédier à ça.

Par contre, ce dont je suis certain, c'est que ce qui est obsolète, c'est une clé RSA de 2048 bits comme indiqué dans la copie d'écran de ton tuto. Pour RSA on recommande depuis quelques années déjà des clés d'au moins 3072 bits, 4096 bits étant le mieux. Mais l'idéal c'est d'utiliser des clés Ed25519. C'est l'algorithme le plus récent et il est considéré comme le plus sûr.

ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519

Sinon, soit ça m'a échappé, soit tu l'as oublié, mais je ne vois pas dans ton tuto les explications concernant l'envoi de la clé publique au serveur. Sans cette manip, pas de connexion au serveur par clé publique/clé privée... Sous Linux, on utilise l'utilitaire ssh-copy-id (qui vient aussi avec OpenSSH).

PS1: un simple man shh-keygen permet de lire dans le descriptif de l'utilitaire: "ssh-keygen can create keys for use by SSH protocol version 2".

PS2: Depuis OpenSSH 7.6 sortie en 2017, le support de SSH1 a été biffé du code, il n'y a plus de trace de SSH1 dans le code d'OpenSSH. On ne peut plus utiliser ce protocole sur les versions récentes d'OpenSSH. Tu vois, je ne le savais pas, je pensais que c'était le paramétrage qui empêchait l'utilisation de SSH1, mais non, il est purement et simplement supprimé du code. Or même Debian stable, qui n'est pas connue pour avoir les dernières versions des logiciels, utilise OpenSSH 8.4, on peut clairement dire qu'aucune distribution Linux ou BSD n'utilise de nos jours une version d'OpenSSH prenant en charge SSH1. Tu peux enlever ton avertissement qui ne sert à rien et refaire un tuto avec ssh-keygen qui est simple à utiliser (avec en plus la conversion au format OpenSSH en moins à se taper).

"delete SSH protocol version 1 support, associated configuration options and documentation."

https://www.openssh.com/txt/release-7.6

PS3: commande pour convertir, avec ssh-keygen, une clé SSH2 générée par puttygen en clés OpenSSH et envoie de la clé dans ~/.ssh/authorized_keys

ssh-keygen -i -f ssh2.pub >> ~/.ssh/authorized_keys

et en masse

for i in 'ls -1 *key'; do echo "$(ssh-keygen -i -f $i) $i >> ~/.ssh/authorized_keys"; done

https://tutorialinux.com/convert-ssh2-openssh/

On peut voir dans le tuto les différences de formats entre les clés SSH2 de puttygen et les clés OpenSSH de ssh-keygen

PS4: Soit tu utilises une vieilles versions de puttygen, soit tes copies d'écran sont très vieilles. Les dernières versions de puttygen peuvent générer des clés Ed25519, ce qui n'est pas visible dans ta copie d'écran.



Modifié par R136a1 le 20/11/2021 13:45
griggione
 Posté le 21/11/2021 à 08:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour tous,

Le tuto a été mis à jour pour éviter la de zoulouman.

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Lot de 3 ventilateurs upHere 120 mm LED bleu à 5,99 €
5,99 € 12,99 € -54%
Souris Logitech MX Master 3S (bluetooth, capteur laser 8K, clics silencieux) à 91,94 € livrée
91,94 € 115 € -20%
Ecouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 3 à 49 €
49 € 79,99 € -39% @Acer
Portable Acer Aspire (14 pouces, Celeron N4500, 4 Go RAM, SSD 128 Go, Windows 11) à 199,99 €
199,99 € 329 € -39% @Amazon
Amazon Fire TV Stick 4K Max à 41,99 €
41,99 € 64,99 € -35% @Amazon
Enceinte connectée Amazon Echo Dot (5ème génération) avec assistant Alexa + prise connectée Meross à 29,99 €
29,99 € 84,98 € -65% @Amazon
Webcam Logitech C922 Pro à 54,99 €
54,99 € 85 € -35% @Amazon
SSD Crucial MX500 4 To à 299,99 €
299,99 € 398 € -25% @Amazon
Tour PC Lenovo IdeaCentre G5 (Core 5 11400F, 16Go RAM, SSD 512 Go, GeForce RTX 3060 12Go) à 749,99 €
749,99 € 999 € -25% @Cdiscount
Pâte thermique Arctic MX-4 (8 g) à 5,99 €
5,99 € 11 € -46% @Amazon

Sujets relatifs
installer un serveur sous linux
Quel Linux installer sur un vieux PC tournant sous XP ?
Installer une imprimante sous LINUX
Accès à un serveur Linux via un client RDP sous Android
Différent serveur sous Linux.
installer neuf box sfr sur EEEPC sous linux
installer windows Xp pro sous linux
installer la livebox sous linux
comment installer msn sous linux
Installer un Serveur web sous unix
Plus de sujets relatifs à Installer un serveur VPS sous Rocky Linux
 > Tous les forums > Forum Linux