Les configurations SSH personnalisées les plus courantes du serveur OpenSSH
- 3951
- 42
- Jeanne Dupont
Le Opensh
Ensemble de services publics Laissez-nous créer des connexions sécurisées et cryptées entre les machines. Dans ce tutoriel, nous allons examiner certaines des options les plus utiles que nous pouvons utiliser pour modifier le comportement de SSHD
, le Opensh
démon afin de faciliter votre travail d'administration du système Linux.
Dans cet article, nous supposons l'existence d'un serveur déjà en cours d'exécution et accessible. Si vous souhaitez en savoir plus sur l'installation d'OpenSSH, vous pouvez jeter un œil à cet article sur la façon d'installer SSH Server sur Ubuntu Linux.
Dans ce tutoriel, vous apprendrez:
- Comment personnaliser le comportement du démon sshd en manipulant les options dans le fichier de configuration SSH principal
/ etc / ssh / sshd_config
- Comment modifier le (s) port (s) par défaut utilisé par le serveur
- Comment modifier l'adresse à l'écoute du serveur
- Comment changer le temps de connexion SSH maximum
- Comment autoriser ou refuser la connexion comme racine
- Comment modifier les tentatives de connexion max et le nombre maximum de session ouverte
- Comment afficher un message lorsque l'utilisateur essaie de s'authentifier avec le serveur
- Comment activer / désactiver le mot de passe et l'authentification pubkey
- Comment activer / désactiver l'authentification hôte
- Activer / désactiver le transfert x11
Exigences et conventions logicielles utilisées
Catégorie | Exigences, conventions ou version logicielle utilisée |
---|---|
Système | Indépendant de la distribution |
Logiciel | Aucun logiciel supplémentaire n'est nécessaire pour suivre ce tutoriel en dehors de OpenSSH |
Autre | Un serveur OpenSSH exécutif |
Conventions | # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier |
Le fichier de configuration du démon sshd
Par défaut SSHD
, le Opensh
démon, lit sa configuration à partir du / etc / ssh / sshd_config
déposer. Un chemin de fichier différent peut être spécifié en utilisant le -F
option lors du lancement du démon. Il existe de nombreuses options que nous pouvons changer pour modifier le comportement du démon. Bien qu'il ne soit pas possible de les mentionner tous ici, nous verrons certains des plus couramment utilisés et ce que nous pouvons obtenir en modifiant leurs valeurs. Chaque fois qu'une option est modifiée, pour rendre les modifications efficaces, le démon doit être redémarré. Lorsque vous utilisez SystemD, la commande à exécuter est:
$ sudo systemctl redémarrer sshd
Modification du (s) port (s) utilisé par le serveur
C'est ce qu'on appelle un Sécurité par l'obscurité
Mesure: par défaut le SSHD
le démon écoute sur le port 22
. La modification du port utilisée n'améliore pas la sécurité en soi, car il est trivial de faire une analyse de port et de voir quels ports sont utilisés par une machine. Plus que souvent, cependant, les tentatives de connexion par force brute ciblent simplement le port par défaut, donc modifier le port utilisé peut aider. Pour demander au démon d'écouter un port spécifique, nous utilisons le Port
Option et fournir le numéro de port:
Port 1024
Plusieurs occurrences de l'option peuvent être fournies: le serveur écoutera sur tous les ports spécifiés. Avant de redémarrer le serveur SSH pour rendre le changement efficace, il est vraiment important de modifier les règles du pare-feu en conséquence au changement. Côté client, pour se connecter à l'aide d'un port spécifique, nous devons spécifier le numéro de port en utilisant le -p
Option (abréviation pour -port). Par exemple, pour se connecter à l'aide du port 1024, nous écrivions:
$ ssh -p 1024 egdoc @ feanor
Pour éviter d'avoir à spécifier le port chaque fois que nous nous connectons au serveur, nous pouvons configurer une entrée pour cela dans le ~ /.ssh / config
Fichier (nous devrons peut-être le créer, car il n'existe pas par défaut et nous devons le rendre accessible uniquement par l'utilisateur), comme dans l'exemple ci-dessous:
Hôte Feanor Hostname 192.168.0.39 Port 1024
De cette façon, chaque fois que nous essaierons de SSH en une correspondance Héberger
(Feanor dans ce cas) Les paramètres spécifiés dans la strophe associée du fichier de configuration SSH seront appliqués automatiquement.
Modification de l'adresse à l'écoute du serveur
En plus du port le SSHD
le démon écoute, nous pouvons également changer le adresse d'écoute
. Par défaut, le serveur écoute toutes les adresses locales. Des exemples de la syntaxe à utiliser avec cette option peuvent déjà être trouvés dans le fichier de configuration SSH:
#ListenAddress 0.0.0.0 #ListenAddress ::
Nous pouvons spécifier l'adresse de l'une des manières suivantes:
- Hôte | Adresse IPv4 | Adresse IPv6
- Hôte | Adresse IPv4: Port
- Hôte | Adresse IPv6: Port
L'option à utiliser est appelée Écouter
De multiples occurrences des options sont autorisées, afin de spécifier plusieurs adresses. On peut utiliser Ipv4
ou Ipv6
adresse et spécifier éventuellement le port à utiliser. Si nous ne spécifions pas un port le SSHD
Daemon écoutera sur le ou les ports spécifiés avec le Port
option que nous avons vue ci-dessus.
Changer le temps de connexion maximum
Nous pouvons configurer le Opensh
démon de déconnexion après un temps spécifié si l'utilisateur ne se connecte pas avec succès. Dans ce cas, l'option que nous voulons changer est appelée Loggeracetime
. Tout ce que nous avons à faire est de fournir la valeur de limite de temps, par exemple:
Loggeracetime 2m
La valeur par défaut de cette option est 120
(secondes)
Autoriser ou refuser la connexion comme racine
En utilisant le Permatlogine
option que nous pouvons établir si le SSHD
le démon devrait permettre à l'utilisateur racine de se connecter directement. L'option accepte l'une de ces valeurs:
- Oui
- Non
- interdiction de mot de passe
- Commands forcés uniquement
Les deux premières valeurs sont assez explicites. Lors de l'utilisation Oui
L'utilisateur racine est autorisé à se connecter via SSH, lors de l'utilisation Non
Cette possibilité est refusée. Le interdiction de mot de passe
et Commands forcés uniquement
Les valeurs sont plus intéressantes.
Quand le premier
est utilisé comme valeur du Permatlogine
Les connexions interactives de l'option, le mot de passe et le clavier sont désactivés, mais l'utilisateur racine peut se connecter à l'aide d'un Clé publique
. Si Commands forcés uniquement
est utilisé, à la place, la connexion racine via l'authentification de la clé publique est autorisée mais uniquement si un commande
L'option est spécifiée dans la clé autorisée. Par exemple:
Command = "ls -a" ssh-rsa […]
Ci-dessus nous avons spécifié ls -a
Comme la commande de la clé SSH qui sera utilisée par Root. De cette façon, lors de la connexion à l'aide de la touche, la commande sera exécutée, puis la connexion au serveur sera fermée. Vérifions-le (ici, j'ai supposé que la clé est déjà en place sur le client et a été autorisée sur le serveur):
$ ssh root @ feanor Entrez la phrase de passe pour la clé '/ home / egdoc /.ssh / id_rsa ':… bash_history .bashrc .profil .ssh .vigueur .VIMINFO Connexion à Feanor fermé.
Modification des tentatives de connexion maximales et le nombre maximum de session a ouvert ses portes
Deux autres paramètres que nous pouvons vouloir modifier est le nombre de tentatives de connexion par connexion, et le nombre de coquilles ouvertes, de connexion ou de session de sous-système autorisés. Nous pouvons modifier l'ancien paramètre en utilisant le Maxauthtries
option, fournissant le nombre de tentatives autorisées (la valeur par défaut est 6
). Ce dernier peut plutôt être modifié en utilisant le Maxssesions
option. Cette option prend également une valeur entière, la valeur par défaut dix
.
Affichez un message lorsque l'utilisateur essaie de s'authentifier avec le serveur
Nous pouvons utiliser le Bannière
Option pour spécifier un fichier contenant du texte que nous souhaitons envoyer à l'utilisateur avant de s'authentifier au serveur. La valeur par défaut de l'option est aucun
, Donc aucune bannière n'est affichée. Voici un exemple. Le fichier / etc / ssh / bannière que nous avons créé contient du texte que nous utilisons comme message. Si nous définissons l'option comme ci-dessous:
Bannière / etc / ssh / bannière.SMS
Lorsque nous essayons de nous connecter, nous obtenons le résultat suivant:
$ ssh egdoc @ feanor ################################ # Banner de test ######### ##################### ° Egdoc @ Feanor:
Activation / désactivation du mot de passe et de l'authentification pubkey.
Le SSHD
Daemon fournit plusieurs moyens d'authentifier les utilisateurs. Nous pouvons choisir d'activer ou de désactiver l'authentification par mot de passe ou par clé publique en utilisant respectivement le PasswordAuthentication
et Pubkeyauthentification
options. Par défaut, les deux options sont généralement définies sur Oui
: Cela signifie que l'utilisateur peut se connecter au serveur en fournissant son mot de passe et également en utilisant une clé publique qu'il possède (la clé peut également être protégée par un mot de passe). Pour désactiver l'une des deux options que nous utilisons simplement Non
comme une valeur. Par exemple, si je veux seulement permettre la connexion par les clés publiques que nous pouvons définir:
PasswordAuthentication Non
De cette façon, seuls les utilisateurs qui ont un Clé publique
contenu dans le fichier de clés autorisé pourra se connecter au serveur. Le fichier de clés autorisé est le fichier qui contient les clés publiques autorisées. Par défaut, le fichier est .SSH / AUTORISED_KEYS
dans le répertoire domestique de l'utilisateur sur le serveur, mais cela peut être modifié à l'aide du AutorizedKeysFile
option et spécification d'un fichier alternatif, fournissant soit un absolu
ou un relatif
chemin. Lorsqu'un chemin relatif est utilisé, il est considéré comme relatif au répertoire domestique des utilisateurs. L'option peut également être définie sur aucun
: De cette façon, le serveur ne recherchera pas les clés publiques dans les fichiers.
Activer / désactiver l'authentification hôte
Le serveur OpenSSH peut être défini pour accepter hôte
authentification. Lorsque vous utilisez ce type d'authentification, un hôte s'authentifie au nom de tous ou de certains de ses utilisateurs. L'option est définie sur Non
par défaut. Définition de l'option sur Oui
ne suffit pas pour faire du travail d'authentification basé sur l'hôte.
Activer / désactiver le transfert x11
Le X11
Window System a une architecture client-serveur: les clients sont les nombreuses applications graphiques demandant une connexion au serveur qui gère des affichages. Le serveur X11 et ses clients s'exécutent souvent sur la même machine, mais ce n'est pas nécessaire. Il est possible d'accéder à un serveur X11 distant via un protocole dédié mais non sécurisé. Opensh
Exécutons la connexion en toute sécurité, créant un tunnel crypté. L'option qui contrôle ce comportement est X11 pour
. La fonction est généralement désactivée par défaut, il est donc défini sur Non
.
Nous devons définir l'option sur Oui
Si nous voulons en profiter. Côté client, nous activons la fonctionnalité en utilisant le -X
Option de la ligne de commande ou définir Avantx11
pour Oui
Dans le fichier de configuration du client. Par exemple, disons que X11 fonctionne sur la machine distante; Nous voulons utiliser la connexion SSH pour lancer l'application «Pluma» (un éditeur de texte léger) et le contrôler en utilisant X11Forwarding. Nous courrons:
$ ssh egdoc @ feanor -x pluma
Le programme sera lancé. Dans la barre de titre, nous pouvons clairement voir qu'il fonctionne sur «Feanor», qui est le nom de la machine distante.
X11 transfert en action
Conclusion
Dans ce tutoriel, nous avons vu quelle est la valeur par défaut SSHD
Fichier de configuration de démon et nous avons appris comment nous pouvons en utiliser un alternatif en spécifiant son chemin avec le -F
Option lors du démarrage du service. Nous avons également examiné certaines des options les plus utiles que nous puissions utiliser dans ledit fichier pour modifier le comportement de SSHD. Nous avons vu comment autoriser ou refuser les authentifications basées sur des mots de passe et basées sur les clés publiques; comment activer ou refuser la connexion racine; Comment activer ou désactiver la fonction de transfert X11 et comment faire afficher le serveur un message lorsqu'un utilisateur essaie de s'authentifier dessus.
Nous avons également vu comment spécifier les tentatives de connexion maximales autorisées par connexion et comment modifier les adresses et les ports. Pour en savoir plus sur les configurations du serveur possibles, veuillez consulter la page manuelle de SSHD et du fichier de configuration SSHD_CONFIG.
Tutoriels Linux connexes:
- Choses à installer sur Ubuntu 20.04
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Comment profiter au maximum d'OpenSSH
- Une introduction à l'automatisation Linux, des outils et des techniques
- Linux: Configuration SSH
- Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
- Choses à installer sur Ubuntu 22.04
- Comment surveiller l'activité du réseau sur un système Linux
- Installez Arch Linux dans VMware Workstation
- Téléchargement Linux
- « Impossible d'obtenir Lock Var Lib Dpkg Lock - Ubuntu / Debian
- Installer et configurer MySQL Workbench sur Ubuntu Linux »