config-ssh
- SSH config serveur distant
Un outil essentiel à maîtriser en tant qu'administrateur système est SSH. SSH, ou encore Secure Shell, est un protocole utilisé pour se connecter en toute sécurité à des systèmes distants. C'est le moyen le plus courant d'accéder à des serveurs Linux distants.
Syntaxe de base
Pour se connecter à un système distant utilisant SSH, nous utiliserons le ssh
# Si le port est différent
ssh debian@192.168.77.44 -p 44
ssh meko-digital.fr -p 44
#OR si port 22
ssh debian@192.168.77.44
Si votre nom d'utilisateur est différent sur le système distant, vous pouvez le spécifier en utilisant cette syntaxe:
ssh remote_username@remote_host -p 44
ssh remote_username@remote_host
Pour quitter la session ssh et revenir à votre session locale de coquille, tapez:
exit
Comment le SSH fonctionne-t-il?
SSH fonctionne en connectant un programme client à un serveur ssh, appelé sshd. Dans la section précédente, sshétait le programme client. Le serveur ssh fonctionnait déjà sur le remote_host que nous avons spécifié.
Le processus nécessaire pour démarrer un serveur ssh dépend de la distribution de Linux que vous utilisez.
Sur Ubuntu, vous pouvez démarrer le serveur ssh en tapant:
sudo systemctl start ssh
Comment configurer SSH
Lorsque vous changez la configuration de SSH, vous changez les paramètres du sshd serveur.
Dans l'Ubuntu, le principal sshd Le fichier de configuration est situé à l'adresse suivante: /etc/ssh/sshd_config.
Sauvegarde de la version actuelle de ce fichier avant d'éditer:
sudo cp /etc/ssh/sshd_config{,.bak}
Ouvrez-le à l'aide nanoou votre éditeur de texte préféré:
sudo nano /etc/ssh/sshd_config
Vous voudrez laisser la plupart des options dans ce seul fichier. Cependant, il y en a quelques-uns que vous voudrez peut-être jeter un coup d'œil à:
/etc/ssh/sshd-config
Port 22
Les déclarations de clés d'hôte précisent où rechercher les clés hôtes globales.
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
Ces deux éléments indiquent le niveau d'enregistrement qui devrait se produire.
Si vous rencontrez des difficultés avec SSH, augmenter la quantité d'exploitation forestière peut être un bon moyen de découvrir quel est le problème.
SyslogFacility AUTH
LogLevel INFO
Ces paramètres spécifient certaines des informations de connexion.
sudo nano /etc/ssh/sshd-config
- LoginGraceTime précise combien de secondes pour maintenir la connexion en vie sans s'enregistrer avec succès. C'est peut-être une bonne idée de fixer cette fois un peu plus que le temps qu'il vous faut pour vous connecter normalement.
sudo nano /etc/ssh/sshd-config
-
PermitRootLogin sélectionne si l'utilisateur racine est autorisé à se connecter. Dans la plupart des cas, il convient de le modifier à no lorsque vous avez créé un compte utilisateur qui a accès à des privilèges élevés (par le biais de su ou sudo) et peut se connecter via SSH afin de minimiser le risque que toute personne accède à votre serveur.
-
strictModes est un garde-fou qui refusera une tentative de connexion si les fichiers d'authentification sont lisibles par tout le monde.
sudo nano /etc/ssh/sshd-config
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
Ces paramètres configurent une capacité appelée X11 Forwarding. Cela vous permet de visualiser l'interface utilisateur graphique (GUI) d'un système distant sur le système local.
- Cette option doit être activée sur le serveur et donnée au client SSH pendant la connexion avec le -X option.
X11Forwarding yes
X11DisplayOffset 10
Si vous avez changé d'installation dans /etc/ssh/sshd_config, assurez-vous de recharger votre sshdserveur pour mettre en œuvre vos modifications:
sudo systemctl reload ssh
Vous devez tester minutieusement vos modifications pour vous assurer qu'elles fonctionnent comme vous le souhaitez.
Désactivation de l'authentification par mot de passe
Si vous avez créé des clés SSH, vous pouvez améliorer la sécurité de votre serveur en désactivant l'authentification uniquement par mot de passe.
En dehors de la console, la seule façon de se connecter à votre serveur sera de passer par la clé privée qui associe la clé publique que vous avez installée sur le serveur.
sudo nano /etc/ssh/sshd_config
Localiser la ligne qui dit Password Authentication, et ne le fait pas pour d'enlever l'attaque #. Vous pouvez ensuite changer sa valeur pour no :
PasswordAuthentication no
- Deux autres paramètres qui ne devraient pas avoir besoin d'être modifiés (à condition que vous n'ayez pas modifié ce fichier auparavant) sont PubkeyAuthentication et ChallengeResponseAuthentication Elles sont fixées par défaut et doivent se lire comme suit :
PubkeyAuthentication yes
ChallengeResponseAuthentication no
Vous pouvez maintenant recharger le daemon SSH:
sudo systemctl reload ssh
L'authentification du mot de passe doit maintenant être désactivée, et votre serveur ne doit être accessible que par l'authentification de clé SSH.